Java 使用扫描仪输入定义所需的扫描仪输入数量

Java 使用扫描仪输入定义所需的扫描仪输入数量,java,loops,console,Java,Loops,Console,我已经做得更进一步了。事实证明,我可以在作业中使用循环,但不能使用数组。这是目前的版本(记住还没有最终的计算或任何东西。)如果你看一下家庭作业的方法,你会发现我要求的是“作业数量”。现在,对于每个作业,我需要要求并求和赢得的分数和可能的最高分数。例如,如果有3项作业,他们可能会获得18分、22分和29分,最高可能得分分别为20分、25分和30分。我需要使用控制台获取这两个变量,但我不知道如何使用同一个循环(或在同一方法中)获取两个变量 提前感谢您的帮助 import java.util.*;

我已经做得更进一步了。事实证明,我可以在作业中使用循环,但不能使用数组。这是目前的版本(记住还没有最终的计算或任何东西。)如果你看一下家庭作业的方法,你会发现我要求的是“作业数量”。现在,对于每个作业,我需要要求并求和赢得的分数和可能的最高分数。例如,如果有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);
    }

}
import java.util.*;
公营班级职系{
公共静态void main(字符串[]args){
欢迎光临屏幕();
权重计算器();
作业();
}
公共静态屏幕(){
System.out.println(“此程序接受您的家庭作业分数和”);
System.out.println(“作为输入和计算的两次考试的分数”);
System.out.println(“你在课程中的分数”);
System.out.println();
}
公共静态无效权重计算器(){
System.out.println(“家庭作业和考试1权重?”);
扫描仪控制台=新扫描仪(System.in);
int a=console.nextInt();
int b=console.nextInt();
int c=100-a-b;
System.out.println();
System.out.println(“使用“+a+”“+b+”“+c”的权重);
}
公共静态无效作业(){
扫描仪控制台=新扫描仪(System.in);
系统输出打印(“作业数量?”);
int totalAssignments=console.nextInt();
整数和=0;
对于(inti=1;i
我不知道你的问题到底出在哪里,所以我将试着给你一些意见。这是我将如何开始的(当然还有其他方法来实现这一点):

首先-创建作业类,将所有信息以漂亮的包装形式保存:

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();
然后,使用此变量创建一些赋值集合(例如使用简单数组):

接下来,您可以再次使用扫描仪填充此集合:

for(int i = 0; i < numberOfAssignments; i++) {
   int pointsEarned = sc.nextInt();
   int pointsTotal = sc.nextInt();
   assignments[i] = new Assignment(pointsEarned, pointsTotal)
}
for(int i=0;i
在这里,您已经填写了作业集。您现在可以打印它,计算平均值等


我希望上面的代码能为您提供一些如何实现这一点的说明。

在您的问题中展示您的努力(代码)。哇,谢谢baza92!我完全是逆向的。这个方向将允许我收集我需要的输入,然后将它们传递到我需要执行的计算中。
for(int i = 0; i < numberOfAssignments; i++) {
   int pointsEarned = sc.nextInt();
   int pointsTotal = sc.nextInt();
   assignments[i] = new Assignment(pointsEarned, pointsTotal)
}