mrusklon
@mrusklon
Не получается? Яростно гугли!

Java программа по поиску наименьшего числа?

Простое задание которое привело меня немного в ступор.
public static void main(String[] args) {
		int a, b, c, d;
		int min = 0;
		a = 12;
		b = 22;
		c = 33;
		d = 11;
		
		if(a>b){
			min = b;
		}
		if(min>c){
			min = c;
		}
		if(min>d){
			min = d;
		}
		System.out.println("Наименьшее число "+min);
	}

Проблема в том что если первый if a>b не сработает , то min не заполниться числом и по умолчанию там будет 0 , следовательно все последующие манипуляции бесполезны , в min всегда будет 0.
Если min не присвоить значение по умолчанию то код не сработает совсем.

Как найти наименьшее число?
  • Вопрос задан
  • 6478 просмотров
Решения вопроса 3
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
int min = a;
Ответ написан
Комментировать
@nesterione
предложу чуть другое решение:

public static void main(String[] args) {
    int a=12,
        b=22, 
        c=33, 
        d=11;

    int min = Math.min(
                     Math.min(a,b),
                     Math.min(c,d));

     System.out.println("Наименьшее число "+min);
}
Ответ написан
Комментировать
@bimeg
public static void main(String[] args) {
    int a, b, c, d;
    a = 12;
    b = 22;
    c = 33;
    d = 11;

    int min = a;
    
    if(min>b){
      min = b;
    }
    if(min>c){
      min = c;
    }
    if(min>d){
      min = d;
    }
    System.out.println("Наименьшее число "+min);
  }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@tomcat1911
1) Занесите значения в массив
2) Пройдите по массиву, запоминая минимумы
min = array[0];
for (int i=1; i < array.length; i++) {
  if (array[i+1] < min)
    min = array[i+1]    
}


P.S Поправьте если что, не пишу на Java.
Ответ написан
Комментировать
@asd111
int[] numbers = {9,8,7,6,5,4,3,2,1} ;
int min = numbers[0];
for ( int n : numbers ) {
     min = min < n ? min : n;
}
System.out.println("Min = " + min);


И читерский тормозной способ в две строки:
int[] numbers = {9,8,7,6,5,4,3,2,1} ;
Arrays.sort(numbers);
int min = numbers[0];
System.out.println("Min = " + min);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы