我似乎无法从用户输入的分数中计算出平均分数。我也不能让它停止例外输入大于100或小于0。有人能告诉我我做错了什么吗?谢谢
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int sum = 0;
int inputNumber;
int numberExams;
float averageScore;
double max = 0;
double min = 101;
System.out.println("Enter the total number of exams you want a average");
numberExams = scan.nextInt();
System.out.println("Please enter " + numberExams + " numbers:");
for(int i = 1; i<=numberExams ;i++){
inputNumber = scan.nextInt();
sum = sum + inputNumber;
System.out.println();
if(inputNumber > max){
max = inputNumber;
}
if(inputNumber < min){
min = inputNumber;
}
if(inputNumber > -1 && inputNumber < 101){
sum = sum + inputNumber;
}
else{
System.out.println("You entered a number that wasn't in the range of 0 to 100");
}
}
averageScore = sum / numberExams;
System.out.println( "The Max Exam Score is: " + max );
System.out.println( "The Minimum Exam Score is: " + min );
System.out.println("The Average Exam Score is: " + averageScore );
}
}
在分配到最小值或最大值之前,应首先检查范围。
这项工作:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int sum = 0;
double averageScore;
double max = 0;
double min = 101;
System.out.println("Enter the total number of exams you want a average");
final int numberExams = scan.nextInt();
System.out.println("Please enter " + numberExams + " numbers:");
for (int i = 0; i < numberExams; ++i) {
final int inputNumber = scan.nextInt();
if (inputNumber >= 0 && inputNumber <= 100) {
System.out.println();
if (inputNumber > max) {
max = inputNumber;
}
if (inputNumber < min) {
min = inputNumber;
}
sum += inputNumber;
}
else {
System.out.println("You entered a number that wasn't in the range of 0 to 100");
}
}
averageScore = sum / numberExams;
System.out.println("The Max Exam Score is: " + max);
System.out.println("The Minimum Exam Score is: " + min);
System.out.println("The Average Exam Score is: " + averageScore);
}
请注意,如果您收到无效输入,您仍然会计算错误的分数数量。您可以通过几种不同的方式来处理它。一种是在ore
块内减少i
。
您在for循环中执行了两次sum=sum inputNumber。
此外,您需要将int转换为double来计算平均值:
double average = ((double) sum) / numberExams;
我是Hadoop Map/Reduce的新手。我正在尝试编写一个Map/Reduce作业,以查找n个进程所花费的平均时间,给定一个输入文本文件,如下所示: 我读了一些教程,但仍然不能完全理解。我的mapper和reducer类应该如何解决这个问题?我的输出将始终是文本文件,还是可以直接将平均值存储在某种变量中? 谢了。
我的问题类似于SQL选择组查询。但是架构发生了变化,我想要不同的结果,如下所述。给定链接的解决方案没有给我正确的解决方案。您可以使用SQL小提琴来解决这个问题。 下面是我的桌子 表1 现在,我想显示每个产品的两个最低金额,如果金额相同,那么任何人都按照升序排列... 所以我想构建单个SQL查询,它给我的结果如下。 请帮我建立这样的查询。
问题内容: 我正在使用MAT比较两个堆转储。我每天都进行堆转储,并且每天增长约200兆。我认为该泄漏与java.util.zip有关,这是因为该表显示的内容,也是因为我们最近添加了一个新过程,该过程可以压缩和解压缩很多文件。(见图片) 此时,我打开支配器并过滤。 充气机 。那产生了大量的java.util.zip.Inflater。现在,我想看看是什么使它们保持打开状态,所以我选择了一个,并运行了
首先,我是C、C++、C#、Android和Swift的开发人员,但我绝对没有JavaScript、PHP或Web开发经验。 即只接受整数值的输入。 这是刀片代码:
编写一个查询以显示staffid、费用代码、专科id、专科名称、会诊日期、患者号和到期日将使用会诊日期+21计算 STAFFID NOT NULL CHAR(2) FIRSTNAME VARCHAR2(20) LASTNAME VARCHAR2(20) 角色VARCHAR2(15) 性别CHAR(1) 日期连接日期 DATELEFT DATE SQL>描述staffspeciality错误: OR
我被作业的最后一部分卡住了,只是不知道如何完成它。 我的任务是取3个权重(以磅和盎司为单位)并获得平均权重,然后将其打印到命令行。我目前的想法是将所有三个权重相加,然后我认为将它们除以3就很容易了。但是当我尝试这样做时,它会抛出一个错误,说“二进制运算符'/'的坏操作数类型” 我有两个单独的文件。 “” 第二个文件: 第二个文件是我需要帮助的地方。在findAverage方法中。