【发布时间】:2015-02-01 20:09:33
【问题描述】:
我正在尝试制作一个程序,询问用户他们想输入多少个等级。然后,在他们输入成绩后,会打印一个水平条形图,显示有多少成绩落在某个范围内,使用星号(范围是 0-9、10-19、20-29 等到 100)。现在,我的代码接受用户输入,存储输入的等级并打印介于指定范围之间但不正确的值(即,如果两个等级介于 80-89 之间,它将打印 80-89:* 然后 80-89 :* 在其下方,与 80-89:** 相对。最后,我想不出一个更简单的方法来代替打印多个 if 语句。感谢大家的帮助!
public void grades(){
Scanner in = new Scanner(System.in);
System.out.println("How many grades would you like to enter? "); //user input how many grades user would like to enter
int q = in.nextInt();
double[] grades = new double[q]; //initialized array
double sum = 0;
for (int counter = 0; counter < q; counter++){ //user enters # of grades they requested to enter
System.out.println("Enter your grades: ");
double grade = in.nextInt();
grades[counter] = grade; //grade values stored in array
}
System.out.println("Bar chart of grades: "); //title of printed list
for (int i = 0; i < q; i++){ //loop scans grades. Iterate through the grades array with filled values
if (grades[i] <= 9) { //if grades stored in array fall within range
System.out.println("0-9: " + '*'); //print those grades on graph
}
}
}
【问题讨论】:
-
您的数组
grades正在存储每个单独的成绩。您可能希望使用它来存储每个范围内的成绩数。 -
感谢您的回复!我是 Java 新手,所以我不知道该怎么做。可以举个例子吗?
标签: java arrays loops if-statement