要求用户输入数字,然后对它们进行计数并求平均值
asking the user to input numbers and then counting them and finding the average
我需要编写一个代码,让用户输入数字并将它们相加,显示正数、负数、零的数量,以及用户输入字母后输入的数字数量的计数 'e'.
但是当我输入 'e' 时,程序终止而不打印计数或平均值。
此外,平均值不起作用,因为它说我不能除以零。
public static void main (String[] args){
Scanner input = new Scanner(System.in);
int negative = 0;
int positive = 0;
int zeroes = 0;
int sum = 0;
int count = 1;
int average = sum / (count - 1);
do{
System.out.print("Enter a float or 'e' to exit");
String entered = input.nextLine();
if("e".equals(entered)){
//print stuff
break;
}else{
int num;
try {
num = Integer.parseInt(entered);
} catch (NumberFormatException e) {
System.out.print(negative + positive +
zeroes + sum + (count - 1) + average);
continue; // re-do the loop
}
if(num < 0){
sum += num;
count++;
negative++;
}else if (num > 0){
sum += num;
count++;
positive++;
}else{//similar to comment above
sum += num;
count++;
zeroes++;
}
}
} while(true);
}
}
您缺少 "if" 条件下的印刷品。修改if条件如下
if("e".equals(entered)){
//print stuff
System.out.print(negative + positive + zeroes + sum + (count - 1) + average);
break;
}
正如其他人评论的那样,您需要考虑像 "divide by zero" 这样的情况并处理输入验证。
我需要编写一个代码,让用户输入数字并将它们相加,显示正数、负数、零的数量,以及用户输入字母后输入的数字数量的计数 'e'.
但是当我输入 'e' 时,程序终止而不打印计数或平均值。
此外,平均值不起作用,因为它说我不能除以零。
public static void main (String[] args){
Scanner input = new Scanner(System.in);
int negative = 0;
int positive = 0;
int zeroes = 0;
int sum = 0;
int count = 1;
int average = sum / (count - 1);
do{
System.out.print("Enter a float or 'e' to exit");
String entered = input.nextLine();
if("e".equals(entered)){
//print stuff
break;
}else{
int num;
try {
num = Integer.parseInt(entered);
} catch (NumberFormatException e) {
System.out.print(negative + positive +
zeroes + sum + (count - 1) + average);
continue; // re-do the loop
}
if(num < 0){
sum += num;
count++;
negative++;
}else if (num > 0){
sum += num;
count++;
positive++;
}else{//similar to comment above
sum += num;
count++;
zeroes++;
}
}
} while(true);
}
}
您缺少 "if" 条件下的印刷品。修改if条件如下
if("e".equals(entered)){
//print stuff
System.out.print(negative + positive + zeroes + sum + (count - 1) + average);
break;
}
正如其他人评论的那样,您需要考虑像 "divide by zero" 这样的情况并处理输入验证。