2013-03-10 2 views
0

я присвоенных написать программу, которая для чтения последовательности целых входов и печати -The самый маленький и самый большой из входов -И числа четных и нечетных входовсамый маленький и самый большой из входов

Я фигурировал из первой части, но я в тупике о том, как я могу заставить свою программу отображать самую большую и самую маленькую. Это мой код до сих пор. Как я могу получить его для отображения самого маленького входа?

public static void main(String args[]) 
{ 
     Scanner a = new Scanner (System.in); 
     System.out.println("Enter inputs (This program calculates the largest input):"); 

     double largest = a.nextDouble(); 
     while (a.hasNextDouble()) 
     { 
      double input = a.nextDouble(); 
      if (input > largest) 
      { 
       largest = input; 
      } 
     } 


     System.out.println(largest); 
} 
+3

Вам просто нужно две переменных отслеживаний ('' largest' и smallest') и два сравнения внутри вашего цикла. –

+0

Пожалуйста, обратите внимание на форматирование ваших образцов кода «аккуратно». Особенно, когда они связаны с несколькими уровнями гнездования, их трудно читать без отступов. – millimoose

+0

Взгляните на 'Math.min' и' Math.max', чтобы помочь сравнить значения и разрешить автоматическое присвоение – MadProgrammer

ответ

8

Самое простое решение было бы использовать что-то вроде Math.min и Math.max

double largest = a.nextDouble(); 
double smallest = largest; 
while (a.hasNextDouble()) { 
    double input = a.nextDouble(); 
    largest = Math.max(largest, input); 
    smallest = Math.min(smallest, input); 
} 
+0

+1 для элегантного решения. –

+0

+1 для 'Math.max' и' Math.min' – wchargin

2
double largest = a.nextDouble(); 
double smallest = largest; 
while (a.hasNextDouble()) { 
    double input = a.nextDouble(); 
    if (input > largest) { 
     largest = input; 
    } 
    if (input < smallest) { 
     smallest = input; 
    } 
} 
1

Отследите наименьшее значение таким же образом.

public static void main(String args[]) 
{ 
    Scanner a = new Scanner (System.in); 
    System.out.println("Enter inputs (This program calculates the largest and smallest input):"); 

    double firstInput = a.nextDouble(); 
    double largest = firstInput; 
    double smallest = firstInput; 
    while (a.hasNextDouble()) 
    { 
     double input = a.nextDouble(); 
     if (input > largest) 
     { 
      largest = input; 
     } 
     if (input < smallest) 
     { 
      smallest = input; 
     } 
    } 

    System.out.println("Largest: " + largest); 
    System.out.println("Smallest: " + smallest); 
    } 
}