亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java - 每個輸入記錄多個用戶輸入

Java - 每個輸入記錄多個用戶輸入

森欄 2023-09-13 10:56:01
該程序應該詢問學生姓名。然后,對于每個學生,將記錄四個成績。然后再次迭代,直到用戶輸入“C”退出循環。然后打印結果。它僅顯示最后輸入的四個元素。我認為我的 for 循環不會實現我想要的。我可能需要 .forEach 嗎?此后,我還必須分別對每個學生的每四個數字求和。每個學生必須有不同的 arrayList 嗎?這是我到目前為止所擁有的:package arrayList;import java.util.Scanner;import java.util.ArrayList;public class TestGrades {public static void main(String[] args) {Scanner sc = new Scanner(System.in);ArrayList<String> studentName = new ArrayList<String>(); boolean loop = true;while (loop) {  System.out.println(" Please Enter Student Name");  sc.nextLine();      String student = sc.nextLine();        if(student.equals("C"))        {          break;            }        else        {          studentName.add(student);        }        ArrayList<Double> studentGrade = new ArrayList<Double>();    System.out.println("Please enter Student Grade");    for (int j = 0; j < 4; j++) {        Double grade = sc.nextDouble();        studentGrade.add(grade);      }        System.out.println(studentName);    System.out.print(studentGrade);    }}}我想按條目順序打印每個 arrayList 的元素,首先是學生姓名,然后是學生成績。.forEach 有幫助嗎?
查看完整描述

1 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

對于初學者,我建議使用該類獲取用戶輸入Console。還:

  1. 第一次調用時sc.nextLine(),您會從用戶那里獲取輸入,但不會存儲它。

  2. 你應該初始化你的ArrayList<Double> studentGrade循環外。每次循環輸入時,它都會創建一個新列表,并且您將丟失上一個循環的學生成績。

運行這個,如果你必須Scanner再次更改,請使用Scanner.

import java.util.Scanner;

import java.util.ArrayList;

import java.io.Console;


public class Test {


public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

ArrayList<String> studentName = new ArrayList<String>(); 

ArrayList<Double> studentGrade = new ArrayList<Double>();

boolean loop = true;


while (loop) {


    System.out.println(" Please Enter Student Name");

    String student = scanner.nextLine();


        if(student.equals("C"))

        {

          break;    

        }

        else

        {

          studentName.add(student);

        }



    System.out.println("Please enter Student Grade");

    for (int j = 0; j < 4; j++) {


        Double grade = Double.parseDouble(scanner.nextLine());

        studentGrade.add(grade);  

    }    


    System.out.println(studentName);

    System.out.print(studentGrade);

  }

}

}


查看完整回答
反對 回復 2023-09-13
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號