[英]nextInt() Java input in same line
我正在做一个基于Java的矩阵求解控制台软件。
我正在尝试做的是每个“ 回车 ”键都做一个空格,而不是闯入其他人来创建一行等等。
当用户键入一个INT然后按“ ENTER”时,它会中断,因此会中断矩阵设计。
到目前为止,这是我的代码:
Scanner scanner = new Scanner(System.in);//.useDelimiter("\\s+");
for(int i = 0; i < matrix.length; i++) {
System.out.print("| ");
for(int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = scanner.nextInt();
}
System.out.print("|");
System.out.println("");
}
scanner.close();
System.out.println("Done");
有任何想法吗?
谢谢!
我认为这不可能,所以我建议另一种方式:
而是使用Enter
并返回到为什么您不写所有值并用空格或特定定界符分隔它们的行 ,因此,当您完成输入后,按Enter返回下一行以扫描下一行,如下所示:
1 2 3 4 5
5 6 7 8 9
然后,您可以像这样获取值:
String line = scan.nextLine();
String[] row = line.split(" ");
然后使用String[]
获得您的int值?
这可以为您提供帮助。
在控制台方式下,输入为enter:这是一个折线。
为了解决您的问题,您可以采取其他措施:
使用您的实际代码,它看起来可能像:
Scanner scanner = new Scanner(System.in);//.useDelimiter("\\s+");
for(int i = 0; i < matrix.length; i++) {
for(int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = scanner.nextInt();
displayActualMatrix(matrix)
}
}
scanner.close();
System.out.println("Done");
...
private void displayActualMatrix(int[][] matrix){
for(int i = 0; i < matrix.length; i++) {
for(int j = 0; j < matrix[i].length; j++) {
// rendering the matrix
}
}
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.