我无法通过此代码找到最小的数字。我如何通过修改此代码找到最小的数字?
I can't find smallest number by this code. How I find smallest number by modifying this code?
没有其他错误。我只是无法打印最小的输入。
public static void main(String args[]){
Scanner input=new Scanner(System.in);
System.out.print("Marks of a student(-1 to terminate the inputting marks): ");
int x=input.nextInt();
int total=0,large=0,y=0,small=0,z;
z=x;
while(x!=-1){
System.out.print("Marks of a student(-1 to terminate the inputting marks): ");
x=input.nextInt();
total+=x;
y++;
if(x>=large){
large=x;
}
if(x<small){
small=x;
}
}
int sum=total+z+1;
double avg=(double)total/y;
System.out.println("No of students: "+y);
System.out.println("Total marks : "+sum);
System.out.println("Maximum : "+large);
System.out.println("Minimum : "+small);
System.out.println("Average : "+avg);
}
small
初始化为 0
,因此任何大于该值的输入都将被忽略。
一种方法是用Integer.MAX_VALUE
初始化它,所以任何输入的数字都会小于或等于它。类似地,large
可以用 Integer.MIN_VALUE
.
初始化
没有其他错误。我只是无法打印最小的输入。
public static void main(String args[]){
Scanner input=new Scanner(System.in);
System.out.print("Marks of a student(-1 to terminate the inputting marks): ");
int x=input.nextInt();
int total=0,large=0,y=0,small=0,z;
z=x;
while(x!=-1){
System.out.print("Marks of a student(-1 to terminate the inputting marks): ");
x=input.nextInt();
total+=x;
y++;
if(x>=large){
large=x;
}
if(x<small){
small=x;
}
}
int sum=total+z+1;
double avg=(double)total/y;
System.out.println("No of students: "+y);
System.out.println("Total marks : "+sum);
System.out.println("Maximum : "+large);
System.out.println("Minimum : "+small);
System.out.println("Average : "+avg);
}
small
初始化为 0
,因此任何大于该值的输入都将被忽略。
一种方法是用Integer.MAX_VALUE
初始化它,所以任何输入的数字都会小于或等于它。类似地,large
可以用 Integer.MIN_VALUE
.