没有其他错误。我就是打印不出最小的输入。
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);
}
1条答案
按热度按时间dgjrabp21#
small
初始化为0
,因此任何大于该值的输入都将被忽略。一种方法是用
Integer.MAX_VALUE
,因此任何输入的数字都将小于或等于它。同样地,large
可以初始化为Integer.MIN_VALUE
.