java - 输入多个数据集(输入)然后打印

标签 java

我正在尝试制作一个程序,该程序将采用三种不同的数据输入。第一名学生编号,第二名 A 分数,第三名 B 分数。输入数据后,程序将再次循环并要求第一个输入(学号),依此类推。一旦用户输入了所需的数据集,他们就可以通过在第一个输入(学生编号)上输入 0 来打破循环,因为这标志着一组新数据的开始。

我如何让它打印出用户输入的多个数据集?

这就是输入和输出的样子:

程序输入:

Student Number: --> 12345678
A Mark: --> 30
B Mark: --> 60
Student Number: --> 62445677
A Mark: --> 40
B Mark: --> 70
Student Number: --> 0

预期输出:

sn = 12345678 B = 60 A = 30 mark = 33.0
sn = 62445677 B = 70 A = 40 mark = 33.0

目前只能打印1个数据集:

import java.util.Scanner;
import java.util.*;
public class test
{
    public static void main (String[] args) {
        Scanner reader = new Scanner(System.in);

        // 0 To end the loop and run output! Repeats until 0 is entered!
        // Arraylist for each of the Vars!
        // Validation

        // Have to initialise - 1 So it doesn't terminate
        int studentNumber = 1;
        int studentNumberPassed = 12;

        int aMark = 0;
        int bMark = 0;

        int markTotal;
        double markAverage;

        boolean terminate = false;


        while (terminate == false) {
            studentNumber = reader.nextInt();
            if (studentNumber == 0) {
                terminate = true;
                break;
            }
            // Once 0 is inputted to terminate it overwrites.
            studentNumberPassed = studentNumber;
            aMark = reader.nextInt();
            bMark = reader.nextInt();
        }

        markTotal = aMark +  bMark;
        // Cast to double before calculating
        markAverage = (double) markTotal / 2;

        //Can also use out.format
        System.out.printf("sn = %d ex = %d cw = %d mark = %.1f",
            studentNumberPassed, aMark, bMark, markAverage);
    }
}

最佳答案

Enter multiple datasets (Inputs) then print

它可以满足您的输入和输出结果,但是有很多方法可以实现多个数据集(输入)然后打印。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {
    private static List<String> storeResult;
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        // 0 To end the loop and run output! Repeats until 0 is entered!
        // Arraylist for each of the Vars!
        // Validation
        int studentNumber = 1; //Have to initialise - 1 So it doesn't terminate 
        int studentNumberPassed = 12;
        int cwMark = 0;
        int examMark = 0;

        boolean terminate = false;
        storeResult = new ArrayList<String>();
        while (terminate == false) {
            System.out.print("Student Number: --> ");
            studentNumber = reader.nextInt();
            if (studentNumber == 0) { // Once 0 is inputted to terminate it overwrites.
                terminate = true;
                displayResult();
                return;
            }

            studentNumberPassed = studentNumber; 
            System.out.print("CW Mark: --> ");
            cwMark = reader.nextInt();
            System.out.print("EX Mark: --> ");
            examMark = reader.nextInt();
            result(studentNumberPassed, cwMark, examMark);
        }
    }

    private static void result(int studentNumberPassed, int cwMark, int examMark) {
        int markTotal;
        double markAverage;
        markTotal = examMark + cwMark;
        // Cast to double before calculating
        markAverage = (double) markTotal / 2;
        String str = "sn = " + studentNumberPassed + " ex = " + examMark + " cw = " + cwMark + " mark = " + markAverage;
        storeResult.add(str);

    }

    private static void displayResult() {
        for(int data=0;data<storeResult.size();data++){
            System.out.println(""+storeResult.get(data));
        }
    }
}

关于java - 输入多个数据集(输入)然后打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46552601/

相关文章:

java - AWS S3 添加/设置/更新/指定带有预签名 url 的用户元数据

java - Thymeleaf 条件 img src

java - SDN 迁移到 4.2 : How does @Transactional works?

java - 无法使用 jsoup 找到 div 元素

java - 直接使用 Spring @Async 与 CompleteableFuture 相比有什么优势?

java - Message Hub 上的 Kafka Streams KTable 配置错误

java - 尝试在 Java 中返回分数(作为 float )

java - Mediaplayer 播放几次后停止播放

java - Netbeans 7.4 中的 Apache cordova 问题

java - 如何覆盖默认的 JobLauncher? Spring批注