我目前正在参加AP预备科学课程。我们的老师为我们分配了一个计划,计划于今晚午夜十二点前完成。该项目要求您编写一个程序,询问您的名字,输入的年级,要求的成绩,平均成绩,然后返回字母值(例如A,B,C)以及您的姓名(例如“ Iqbal,Noor”)。看来我的所有代码都算出来了,当我进入成绩时,只有一个超出范围的错误。但是,我的老师说,解决此错误的唯一方法是制作一个巨型for循环并将整个代码。对我来说这没有意义,所以如果是这样,有人可以解释一下吗?
如果不是这种情况,我想知道该怎么办。我不想有人给我答案,而是引导我思考如何解决这个问题。
这是我到目前为止的代码:
import java.util.*;
public class Tester {
public static void main (String[] args){
//Prompt for first
//Prompt for last
//Prompt for # of assgmts to be averaged
//for-loop = prompt to enter # grade until all grades are entered (use [])
//loop through array again to calculate average
//print info
//prompt for multiple names and grades
Scanner kbInput = new Scanner(System.in);
System.out.println("How many students will you be entering?");
int numOfStudents = kbInput.nextInt();
String[] Students = new String[numOfStudents];
int k;
for(k = 0; k < Students.length; k++){
System.out.println("Enter your first name.");
String first = kbInput.next();
System.out.println("Enter your last name.");
String last = kbInput.next();
Students[k] = last + ", " + first;
}
String finalGrade = "";
System.out.println("How many grades will you be entering?");
int numOfGrades = kbInput.nextInt();
int[] Grades = new int[numOfGrades];
int sum = 0;
int j;
for (j = 0; j < numOfGrades; j++){
System.out.println("Enter your grades.");
Grades[j] = kbInput.nextInt();
sum+=Grades[j];
}
int average = sum/numOfGrades;
if((average >= 90) && (average <= 100)){
finalGrade = "A";
}
else if((average >= 80) && (average < 90)){
finalGrade = "B";
}
else if((average >= 75) && (average < 80)){
finalGrade = "C";
}
else if((average >= 70) && (average < 75)){
finalGrade = "D";
}
else if(average < 70){
finalGrade = "F";
}
String[] letterGrade = new String[numOfStudents];
int count;
for(count = 0; count < numOfStudents; count++){
letterGrade[count] = finalGrade;
}
}
}
编辑:这是该项目的方向:
用一个名为Tester的类创建一个名为FinalGrade的新Java项目。
提示用户输入学生的名字,然后提示您输入学生的名字。
提示用户输入要平均的作业数量(例如6)。
使用for循环,提示用户输入数字等级(仅整数),直到输入了学生的确切作业数量。注意:成绩应存储在数组中。
循环遍历所有成绩并计算输入成绩的平均值。
在屏幕上打印以下信息(按显示的顺序)…
一种。学生的姓氏
b。学生的名字
C。学生的最终成绩(显示为字母成绩而不是数值)
示例输出…
霍华德,德里克– A
超越……
1.更改您的应用程序以允许输入多个学生和年级。
最佳答案
如果您要通过分数来评估您的成绩,请制定一种方法,将可能的总分数相加,然后将您所获得的分数相加,然后除以得出小数点。请确保将该乘积乘以100。然后,使用Math.round()
将您的成绩取整。
关于java - 在Java中使用For循环和数组计算最终成绩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43267331/