Java 确定最高和最低数字
我目前正在编写一个程序,用户必须输入10个数字,然后输出最高数字和最低数字。我的代码中有错误,但找不到Java 确定最高和最低数字,java,Java,我目前正在编写一个程序,用户必须输入10个数字,然后输出最高数字和最低数字。我的代码中有错误,但找不到 int highest=0, lowest=0, num=0; Scanner scan = new Scanner(System.in); for (int i=0; i<10; i++) { System.out.print("Enter a number:"); num = scan.nextInt(); } if (num > highest) {
int highest=0, lowest=0, num=0;
Scanner scan = new Scanner(System.in);
for (int i=0; i<10; i++) {
System.out.print("Enter a number:");
num = scan.nextInt();
}
if (num > highest) {
highest = num;
}
else if(num < lowest) {
lowest = num;
}
System.out.println("Highest number is: " + highest);
System.out.println("Lowest number is: " + lowest);
int最高=0,最低=0,num=0;
扫描仪扫描=新扫描仪(System.in);
对于(int i=0;i最高){
最高=num;
}
如果(num<最低值){
最低=num;
}
System.out.println(“最大值为:“+最大值”);
System.out.println(“最低数字为:“+最低”);
以不同方式初始化您的值:
int highest = Integer.MIN_VALUE;
int lowest = Integer.MAX_VALUE;
如果将它们都初始化为零,则“最高”值永远不会低于零,或“最低”值永远不会高于零您应该将两个
条件放入for
循环中,否则您将只比较最后一个数。和lowest不应设置为0,而应设置为整数。MAX_VALUE您的初始化和逻辑有一些问题:
int highest=Math.MIN_VALUE;
int lowest=Math.MAX_VALUE;
int num=0;
Scanner scan = new Scanner(System.in);
for(int i=0; i<10; i++){
System.out.print("Enter a number:");
num = scan.nextInt();
if (num > highest){
highest = num;
}
if(num < lowest){
lowest = num;
}
}
System.out.println("Highest number is: " + highest);
System.out.println("Lowest number is: " + lowest);
int-highest=Math.MIN\u值;
int lowest=数学最大值;
int num=0;
扫描仪扫描=新扫描仪(System.in);
对于(int i=0;i最高){
最高=num;
}
如果(数值<最低值){
最低=num;
}
}
System.out.println(“最大值为:“+最大值”);
System.out.println(“最低数字为:“+最低”);
您还应该使用2if
条件,而不是else if
。如果您只有一个数字,那么很可能您最终会得到类似于最高值
的值等于您输入的某个数字,而最低值
仍将等于数学.MAX_值
。这可能会导致混淆。您隐式地假设最小值和最大值为0,现在可能是这样,
请尝试此代码段
class Main{
public static void main(String args[]){
int highest=0, lowest=0, num=0;
Scanner scan = new Scanner(System.in);
highest = lowest = scan.nextInt();
for(int i=1; i<10; i++){
System.out.print("Enter a number:");
num = scan.nextInt();
if (num > highest){
highest = num;
}
if(num < lowest){
lowest = num;
}
System.out.println("Highest number is: " + highest);
System.out.println("Lowest number is: " + lowest);
}
}
}
主类{
公共静态void main(字符串参数[]){
int最高=0,最低=0,num=0;
扫描仪扫描=新扫描仪(System.in);
最高=最低=scan.nextInt();
对于(int i=1;i最高){
最高=num;
}
如果(数值<最低值){
最低=num;
}
System.out.println(“最大值为:“+最大值”);
System.out.println(“最低数字为:“+最低”);
}
}
}
是否有其他方法可以在不使用Integer.MIN\u值和Integer.MAX\u值的情况下获得答案?为什么不使用这些值?嗯,您可以随时将它们内联;-)