在Java赋值中使用数组和for循环时遇到问题
节目要求编写一个Java程序,首先询问用户想要输入多少等级。然后使用do..while循环用用户输入的等级填充该大小的数组。然后对数组进行排序。在通过该数组读取的for循环中,显示等级并合计等级。循环结束后,计算这些等级的平均值并显示该平均值。” 输出是个问题。无论我对代码做什么,它都只会输出我输入的两个输入。如果我选择输入4、5或10级。它只会显示最低的两个。尽管总数和平均值都是正确的。我在这里遗漏了什么 以下是我写的:在Java赋值中使用数组和for循环时遇到问题,java,arrays,for-loop,Java,Arrays,For Loop,节目要求编写一个Java程序,首先询问用户想要输入多少等级。然后使用do..while循环用用户输入的等级填充该大小的数组。然后对数组进行排序。在通过该数组读取的for循环中,显示等级并合计等级。循环结束后,计算这些等级的平均值并显示该平均值。” 输出是个问题。无论我对代码做什么,它都只会输出我输入的两个输入。如果我选择输入4、5或10级。它只会显示最低的两个。尽管总数和平均值都是正确的。我在这里遗漏了什么 以下是我写的: import java.util.Scanner; import jav
import java.util.Scanner;
import java.util.Arrays;
public class TapCoGradeArray
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
int count;
double inputGrade = 0;
double gradeTotal = 0;
double[] individualGrade;
System.out.println("Enter the number of students that are being graded.");
int numberOfGrades = keyboard.nextInt();
individualGrade = new double[numberOfGrades];
count = 0;
do
{
System.out.println("Enter the grade (from 0-100) for each student below.");
inputGrade = keyboard.nextDouble();
individualGrade[count] = inputGrade;
count++;
gradeTotal+= inputGrade;
} while(count < numberOfGrades);
Arrays.sort(individualGrade);
for(count = 0; count == individualGrade.length; count++);
{
// This next line is using gradeTotal as an array. However, there is no array by that name.
// Check which array this should be.
System.out.println("The grades entered are the following: \n" + inputGrade + "\n" + individualGrade[count]);
}
double gradeAverage = gradeTotal / numberOfGrades;
System.out.println("The total of the grades is " + gradeTotal);
System.out.println("The average of the grades entered is " + gradeAverage);
}
}
import java.util.Scanner;
导入java.util.array;
公共类TapCoGradeArray
{
公共静态void main(字符串[]args)
{
扫描仪键盘=新扫描仪(System.in);
整数计数;
双输入等级=0;
双级合计=0;
双[]个人等级;
System.out.println(“输入正在评分的学生人数”);
int numberOfGrades=keyboard.nextInt();
individualGrade=新的双[NumberOfGrade];
计数=0;
做
{
System.out.println(“输入以下每个学生的分数(从0到100)”;
inputGrade=keyboard.nextDouble();
individualGrade[计数]=inputGrade;
计数++;
总成绩+=输入成绩;
}while(count
两个主要问题
for(count = 0; count == individualGrade.length; count++);
在达到正确值之前,不应该有seimcolon和循环
for(count = 0; count < individualGrade.length; count++)
{
System.out.println("The grades entered are the following: \n" +
inputGrade + "\n" + individualGrade[count]);
}
for(count=0;count
两个主要问题
for(count = 0; count == individualGrade.length; count++);
在达到正确值之前,不应该有seimcolon和循环
for(count = 0; count < individualGrade.length; count++)
{
System.out.println("The grades entered are the following: \n" +
inputGrade + "\n" + individualGrade[count]);
}
for(count=0;count
忽略程序内的注释。这些是老师以前的输入。忽略程序内的注释。这些是老师以前的输入。哇,这是一个快速的回答!所以我尝试了,这是有意义的。但是,输出仍然显示两个数字。不过,这一次,它只显示相同数字的两个副本“输入的分数如下:4.0 4.0…”我认为你不应该在System.out.println
中包含inputGrade
,因为这是用户刚刚输入的分数。你应该只显示individualGrade[count]
在程序的这一点上。你确定你删除了分号吗?好的,所以我完全弄清楚了现在发生了什么。分号被删除了。我扩展了输出窗口(因为Dr.Java只显示了4行。)它显示了同一个字符串与我键入的其他输入一起显示了两次。结果我不得不将该字符串移到for循环之外。感谢所有人的帮助。肯定是指论坛更经常地提到这个!我不敢相信仅仅一个不应该出现的分号就花了3个小时!哇,这是一个快速的回答!所以我但是,输出仍然显示了两个数字。不过这次,它只显示了我上次输入的同一个数字的两个副本。“输入的分数如下:4.0 4.0。。。。“我认为您不应该在System.out.println
中包含inputGrade
,因为这是用户刚刚输入的等级。你应该只在程序中的这一点上显示individualGrade[count]
。你确定你删除了分号吗?好的,所以我完全弄清楚了现在发生了什么。分号被移除。我扩展了输出窗口(因为Dr.Java只显示了4行),它显示了与我键入的其他输入相同的字符串,显示了两次。结果我不得不将字符串移到for循环的外部。谢谢大家的帮助。肯定是指论坛更经常地提到这个!我真不敢相信,仅仅一个分号就花了3个小时,而这个分号本不应该出现在那里!