【发布时间】:2022-01-16 23:37:39
【问题描述】:
基本上,我试图询问用户的输入,并且输入应该使用单个扫描仪存储在两个数组中。使用两个会询问用户两次,这是不切实际的。代码是这样的
int record = 0;
Scanner midOrFinal = new Scanner(System.in);
Scanner scansubjects = new Scanner(System.in);
Scanner scangrades = new Scanner(System.in);
System.out.println("Press 1 to Record for Midterm");
System.out.println("Press 2 to Record for Final Term");
record = midOrFinal.nextInt();
int midterm[] = new int[8];
int grades[] = new int[8];
{
if ( record == 1 )
System.out.println("Enter 8 subjects and their corresponding grades:");
System.out.println();
int i = 0;
for( i = 0; i < 8; i++ )
{
System.out.println(subjects[i]);
System.out.print("Enter Grade: ");
grades[i] = scangrades.nextInt();
if( i == ( subjects.length) )
System.out.println();
}
System.out.println("Enter Grade Successful");
}
如果用户选择选项 1,用户将获得数组中的一些科目(我没有包括在内)并要求输入成绩。然后输入将继续到 midterm OR finalterm 数组,但我似乎无法通过使用一个扫描仪来做到这一点。
如果有比我提出的想法更好的想法,请分享。我还是 Java 新手,也是我第一次使用 stackoverflow。谢谢!
【问题讨论】:
-
对 System.in 使用一个 Scanner。 更好的是,不要使用 Scanner,而是使用不易出错的
java.io.Console。但是,您必须从命令行(而不是 IDE 的“命令行”)运行,并自己进行 int 转换:Integer.parseInt(String)。 -
嗯,这是我第一次看到这些术语。我一定会检查这些。谢谢!
标签: java arrays java.util.scanner