1 回答
TA贡献1831条经验 获得超9个赞
对于初学者,我建议使用该类获取用户输入Console
。还:
第一次调用时
sc.nextLine()
,您会从用户那里获取输入,但不会存储它。你应该初始化你的
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);
}
}
}
添加回答
举报