我做得更远了。事实证明我可以在我的任务中使用循环而不是数组。所以这是当前的版本(请记住没有最终的计算或任何东西。)所以,如果你看看作业方法,你可以看到我要求的“作业数量”。现在,对于每个作业,我需要要求并且将获得的分数和最大可能分数相加。因此,例如,如果有3个作业,他们可能分别获得18,22和29分,最高分数分别为20分,25分和30分。我需要使用控制台抓住两者,但我不知道如何使用相同的循环(或在相同的方法中)获取两个变量。
提前感谢您的帮助!
import java.util.*;
public class Grades {
public static void main(String[] args) {
welcomeScreen();
weightCalculator();
homework();
}
public static void welcomeScreen() {
System.out.println("This program accepts your homework scores and");
System.out.println("scores from two exams as input and computes");
System.out.println("your grade in the course.");
System.out.println();
}
public static void weightCalculator() {
System.out.println("Homework and Exam 1 weights? ");
Scanner console = new Scanner(System.in);
int a = console.nextInt();
int b = console.nextInt();
int c = 100 - a - b;
System.out.println();
System.out.println("Using weights of " + a + " " + b + " " + c);
}
public static void homework() {
Scanner console = new Scanner(System.in);
System.out.print("Number of assignments? ");
int totalAssignments = console.nextInt();
int sum = 0;
for (int i = 1; i <= totalAssignments; i++) {
System.out.print(" #" + i + "? ");
int next = console.nextInt();
sum += next;
}
System.out.println();
System.out.println("sum = " + sum);
}
}
答案 0 :(得分:0)
我不知道你的问题究竟在哪里,所以我会尽力给你一些评论。这就是我的开始(当然还有其他方法可以实现):
首先 - 创建Assignment类,以包装好的包装形式保存所有信息:
public class Assignment {
private int pointsEarned;
private int pointsTotal;
public Assignment(int pointsEarned, int pointsTotal) {
this.pointsEarned = pointsEarned;
this.pointsTotal = pointsTotal;
}
...getters, setters...
}
要请求分配数量,您只需使用nextInt()方法并将其分配给某个变量:
Scanner sc = new Scanner(System.in);
int numberOfAssignments = sc.nextInt();
然后,使用此变量创建一些赋值集合(例如使用简单数组):
Assignment[] assignments = new Assignment[numberOfAssignments];
接下来,您可以再次使用扫描仪填充此集合:
for(int i = 0; i < numberOfAssignments; i++) {
int pointsEarned = sc.nextInt();
int pointsTotal = sc.nextInt();
assignments[i] = new Assignment(pointsEarned, pointsTotal)
}
所以在这里,你已经填写了作业集。您现在可以打印它,计算平均值等。
我希望上面的代码能为您提供一些如何实现这一点的评论。