Я пытаюсь получить самые высокие и самые низкие числа, введенные пользователем. Приведенный ниже код кажется в основном рабочим, но я не могу получить правильное число для наименьшего значения. Что я делаю неправильно?
import java.io.*;
public class jem3
{
public static void main(String []args)
{
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in ));
int high=0;
int lowest=1;
int num=0;
int A=0;
System.out.println("Enter number");
for(int a=0;a<10;a++)
{
try
{
num=Integer.parseInt(dataIn.readLine());
}
catch(IOException e)
{
System.out.println("error");
}
if(num>high)
{
high=num;
}
if(num>=A)
{
A=lowest;
}
}
System.out.println("highest is:"+ high);
System.out.println("lowest is: "+A);
}
}
4 ответа
Какова цель A
? Вы также не изменяете lowest
. Вы близки, попробуйте это:
num = ...
if ( num > max ) max = num;
if ( num < min ) min = num;
System.out.println("Highest: " + max);
System.out.println("Lowest: " + min);
Вы на правильном пути для захвата highest
. вам нужно применить аналогичную логику для lowest
.
import java.io.*;
public class jem3
{
public static void main(String []args)
{
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in ));
int high;
int lowest;
int num;
System.out.println("Enter number");
num=Integer.parseInt(dataIn.readLine());
lowest = highest = num;
for(int a=0;a<10;a++)
{
try
{
num=Integer.parseInt(dataIn.readLine());
}
catch(IOException e)
{
System.out.println("error");
}
if(num>high)
{
high=num;
}
if(num<lowest)
{
lowest=num;
}
}
System.out.println("highest is:"+ high);
System.out.println("lowest is: "+lowest);
}
}
Я добавил код после прочтения первой строки, чтобы установить высокий и самый низкий, поэтому, если пользователь даст вам 10 чисел «9», он выведет самое низкое число, равное «9», а не 1, как это было бы (аналогично высокому).
import java.io.*;
public class jem3{
public static void main(String []args){
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
int high=0;
int lowest=0;
int num=0;
boolean test = true;
System.out.println("Enter number");
for(int a=0;a<10;a++)
{
try
{
num=Integer.parseInt(dataIn.readLine());
}
catch(IOException e)
{
System.out.println("error");
}
if(num>high)
{
high=num;
}
//add an initial value to 'lowest'
if (test)
lowest = num;
test = false;
if(num < lowest)
{
lowest = num;
}
}
System.out.println("highest is:"+ high);
System.out.println("lowest is: "+ lowest);
}
}
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.