【发布时间】:2019-05-27 12:03:21
【问题描述】:
我想在同一行接受各种integer 输入,比如说 2。实际上我想以 Matrix 的形式输入,因为输入值将以矩阵的形式存储。
问题是我每行只能接受一个输入,然后它会转到下一行接受下一个输入。我认为它的Scanner.nextInt() 会导致光标移动到下一行,因为我必须在每次输入后按 enter。
代码:
import java.util.Scanner;
public class Matrix
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
boolean flag = false;
int row = 2 , col =2;
int[][] array = new int[row][col];
do
{
System.out.printf("\n>>>>> Enter values for Matrix <<<<<\n");
try
{
for (int i = 0; i < row; i++)
{
System.out.print("\n[ ");
for (int j = 0; j < col; j++)
{
array[i][j] = input.nextInt();
System.out.print(" ");
}
System.out.print(" ]\n");
}
flag = true;
}
catch(Exception e)
{
System.out.println("Invalid Input. Try Again.");
String flush = input.next();
flag = false;
}
}while(!flag);
}
}
输出:
期望的输出:
[2 3]
[8 4]
我在互联网上搜索过这个问题,但每个人都在每行输入一个输入,但我希望它以矩阵样式输入。
【问题讨论】:
-
您也可以将输入除以空格。一旦你按下回车键,它们都会被评估
-
有时最好通过
.nextLine()获取一行输入,然后通过拆分处理该行,或者仅基于该行创建一个新的扫描仪。Scanner lineScanner = new Scanner(singleLineOfText); -
我已经知道这个解决方案,谢谢.. 但我想做的是接受个人输入!我认为这是不可能的。
标签: java matrix input formatting java.util.scanner