Как найти число в массиве java
Для того, чтобы найти число в массиве в Java , можно использовать цикл для перебора элементов массива и условный оператор для сравнения каждого элемента с искомым числом. Если число будет найдено, то можно вернуть его индекс в массиве или само число.
Пример кода для поиска числа в массиве:
public static int findNumberInArray(int[] array, int number) for (int i = 0; i array.length; i++) if (array[i] == number) return i; // возвращаем индекс элемента, если он найден > > return -1; // возвращаем -1, если элемент не найден >
Как найти заданное пользователем число в массиве?
Судя по вашему комментарию к строке getPosition(test, 3351, 65732); , вы неправильно поняли назначение второго аргумента.
3351 — это не одно из искомых чисел, а индекс элемента массива с которого следует начинать поиск (@param begin the index in the array, where to start the search (begin included)).
А метод getPosition() будет выглядеть так:
public class FemaleLogic < static int getPosition(int[] a, int begin, int value) < for (int i = begin; i < a.length; i++) < // если элемент найден, возвращается его индекс if (a[i] == value) return i; >return -1; // если элемент не найден, возвращается -1 > public static void main(String[ ] args)< int[] arr = ; System.out.println(getPosition(arr, 0, 23)); System.out.println(getPosition(arr, 5, 23)); > >
Как найти число в массиве?
подскажите пожалуйста как найти максимально и минимальное число в массиве?
за ране спасибо !
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как найти макс. и мин. число в массиве?
Подскажите пожалуйста как найти максимально и минимальное число в массиве? За ране спасибо !
Выяснить, какое число встречается в массиве раньше – число Фибоначчи или простое число
Дан натуральный массив A, состоящий из натуральных чисел. Выяснить, какое число встречается раньше.
Как найти в массиве максимальное число?
как найти в массиве максимальное число?пример.
Регистрация: 14.09.2011
Сообщений: 158
Записей в блоге: 1
1 2 3 4 5 6 7 8 9 10 11 12 13
public static void main(String[] args) { int [] array = {12,1,5,7,13, -1, -5}; int max = 0; int min = 0; for(int i = 0; iarray.length; i++){ if(maxarray[i]) max = array[i]; if(min>array[i]) min = array[i]; } System.out.println("Max: "+max); System.out.println("Min:"+min); }
Регистрация: 29.05.2011
Сообщений: 25
Я извиняюсь, но код не продуман. если в массива все числа отрицательны, то в качестве максимального числа выведется 0, которого вообще нет в массиве. А если в массиве все числа больше нуля, то минимальное число = 0.
вот правильный код:
1 2 3 4 5 6 7 8 9 10 11 12
public static void main(String[] args) { int [] array = {12,1,5,7,13, -1, -5}; int max = array[0], min = array[0]; for(int i = 0; iarray.length; i++){ if(maxarray[i]) max = array[i]; if(min>array[i]) min = array[i]; } System.out.println("Max: "+max); System.out.println("Min:"+min); }
Регистрация: 14.09.2011
Сообщений: 158
Записей в блоге: 1
Молодец, поставь галочку в разделе «сумничал». План выполнил.
![]()
4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
Сообщение от Faustlogger 
Молодец, поставь галочку в разделе «сумничал». План выполнил.
зря вы так, он правильно вас поправил.
Регистрация: 28.12.2011
Сообщений: 253
А как быть если масив задан индексом-3n-точнее таким количеством чисел. Надо найти наибольшее из первых n. Это понятно можно поделить ленгс на 3. Ну а потом найти сумировать остальные числа что больше за вычисленне число. То есть надо идти в масиве от n 1 до 3n. Как задать индекс что красное числу n. Которое может быть произвольное?
2586 / 2259 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
1 2 3
int n = 3; for(int i = 0; in; i++){
Регистрация: 28.12.2011
Сообщений: 253
Я так понимаю что сперва n как бы не должно быть известно. А как бы уже после этого задается это n или это n вычисляятся как то с помощью функции в том случае если сам масив кратный 3. Ибо n+1 и 3n должен вызначать компьютер а не вы.
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
Сообщение от Faustlogger 
Молодец, поставь галочку в разделе «сумничал». План выполнил.
Он абсолютно прав. При поиске минимума/максимума надо начальное значение выставлять соответственно максимально/минимально возможное. В Вашем случае:
int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE;
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
1 2 3 4 5 6 7 8 9 10
public static void main(String[] args) { int[] a = { 1, 2, 5, 4, 7, 89, 5, 1, 1, -5, 45, 4, 7 }; Arrays.sort(a); int min = a[0]; int max = a[a.length - 1]; System.out.println(max); System.out.println(min); }
154 / 154 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
Сообщение от Севак 
Не оптимально, ибо поиск это O(n), а сортировка O(n*log(n))
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
я думаю это и так было понятно 🙂
Регистрация: 31.03.2014
Сообщений: 102
Никто не заметил, но так тоже плохо ищет максимум и минимум
1 2 3 4 5 6 7 8 9 10 11 12
public static void main(String[] args) { int [] array = {12,1,5,7,13, -1, -5}; int max = array[0], min = array[0]; for(int i = 0; iarray.length; i++){ if(maxarray[i]) max = array[i]; if(min>array[i]) min = array[i]; } System.out.println("Max: "+max); System.out.println("Min:"+min); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
class Ideone { public static void main (String[] args) throws java.lang.Exception { int [] mas = new int [12]; int s = 0; int min = 0; int max = 0; System.out.println(); System.out.println("Массив случайных чисел\n"); for (int i = 0; imas.length; i++){ mas[i] = (int)(Math.random()*-30+15); System.out.print(mas[i]+" "); } for (int i = 0; imas.length; i++){ min = mas[0]; max = mas[0]; if(min>mas[i]) min = mas[i]; if(maxmas[i]) max = mas[i]; } System.out.println(); System.out.print("Максимальное значение массива "+max+"\n"); System.out.print("Минимальное значение массива "+min);
Массив случайных чисел
-4 -3 11 3 4 4 -4 6 -1 9 -10 11
Максимальное значение массива 11
Минимальное значение массива -4
А минимальное -3. Иногда с максимумом ошибка, но всегда она есть. Как же правильно будет?
P0huber / MaxNumberOfArray.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| package com . javarush . task . task07 . task0701 ; |
| import java . io .*; |
| /* |
| Массивный максимум |
| */ |
| public class MaxNumberOfArray |
| public static void main ( String [] args ) throws Exception |
| int [] array = initializeArray (); |
| int max = max ( array ); |
| System . out . println ( max ); |
| > |
| public static int [] initializeArray () throws IOException |
| // создай и заполни массив |
| BufferedReader r = new BufferedReader ( new InputStreamReader ( System . in )); |
| int [] aa = new int [ 20 ]; |
| int l = aa . length ; |
| for ( int i = 0 ; i < l ; i ++) |
| aa [ i ] = Integer . parseInt ( r . readLine ()); |
| > |
| return aa ; |
| > |
| public static int max ( int [] array ) |
| // найди максимальное значение |
| int l = array . length , max = array [ 0 ]; |
| for ( int i = 1 ; i < l ; i ++) |
| if ( array [ i ] > max ) |
| max = array [ i ]; |
| > |
| return max ; |
| > |
| > |
| /*Массивный максимум |
| 1. В методе initializeArray(): |
| 1.1. Создайте массив на 20 чисел |
| 1.2. Считайте с консоли 20 чисел и заполните ими массив |
| 2. Метод max(int[] array) должен находить максимальное число из элементов массива |
| Требования: |
| 1. Метод initializeArray должен создавать массив из 20 целых чисел. |
| 2. Метод initializeArray должен считать 20 чисел и вернуть их в виде массива. |
| 3. Метод max должен возвращать максимальный элемент из переданного массива. |
| 4. Метод main изменять нельзя.*/ |
