大家好,我已经开始在线学习Java两周了,但是当我看到这些教程时,我觉得我实际掌握这些信息的唯一方法就是练习它。我的其他程序工作得很好,但就在我决定做一些壮观的事情时(当然对我来说;一个java专家会发现创建这个程序令人头脑麻木),有些事情非常糟糕。我真的很感激,如果你能看一下我的平均程序下面的代码,它可以平均你想要的任何数字,并告诉我世界上我做错了什么。
更新:Eclipse只输入一个数字后输出一个随机数,然后关闭程序。 Here is a snapshot where I type in the console to average 6 numbers and then start with the number 7, but for some reason, when I hit enter again, it outputs 8.
package justpracticing;
import java.util.*;
public class average{
int grade = 0;
int average;
Scanner notoaverage = new Scanner(System.in);
System.out.println("Please enter the amount of numbers you'd like the average of! ");
final int totalaverage = notoaverage.nextInt();
Scanner averagingno = new Scanner(System.in);
System.out.println("Start typing in the " + totalaverage + " numbers");
int numbers = averagingno.nextInt();
int counter = 0;
public void averagingnumbers(){
while(counter<=totalaverage){
grade+=numbers;
++counter;
}
}
public void printStatement(){
average = grade/totalaverage;
System.out.println(average);
}
}
答案 0 :(得分:0)
您似乎已在另一个类中创建了一个average
对象,并且正在调用主类提供的方法。
我不知道你究竟遇到了什么问题,但有一个问题在这里:
average = grade/totalaverage;
您要划分的这两个变量都是整数。这意味着结果也将是一个整数。这称为truncation。你想要做的是首先将至少一个整数转换为double:
... = (grade * 1.0) / totalaverage;
您还希望average
变量为double而不是整数,以便它可以更准确。