我目前正在参加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/

10-10 01:50