Java 如何在数组循环中的一行中插入多个输入

Java 如何在数组循环中的一行中插入多个输入,java,Java,所以我希望我的输出是这样的: N = 3 userinput1 | userinput2 | userinput3 userinput4 | userinput5 | userinput6 userinput7 | userinput8 | userinput9 但问题是,在我插入userinput1并按enter键后,它会在下面的一个空格处变成这样 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

所以我希望我的输出是这样的:

N = 3
userinput1  |  userinput2  |  userinput3  
userinput4  |  userinput5  |  userinput6
userinput7  |  userinput8  |  userinput9
但问题是,在我插入userinput1并按enter键后,它会在下面的一个空格处变成这样

1
  |  2
  |  3
  |  
4
  |  5
  |  6
  |  
7
  |  8
  |  9
  |  
我试图改变sc.nextInt();致sc.nextLine();但即使在我使用parseInt之后它也不起作用

公共静态void main(字符串[]args) { 扫描仪sc=新的扫描仪(System.in)

int[]noofarray;
国际努弗罗斯;
int noOfColumns;
System.out.println(“输出:”);
系统输出打印(“输入N=”);
noOfRows=sc.nextInt();
noOfColumns=noOfRows;
noofarray=新的int[noOfRows][noOfColumns];
///////////////////////////////

对于(int i=0;i,使用基本Java编程无法检测控制台上的用户密钥输入。如果需要该功能,可能需要使用或JNI之类的库

处理这一问题的两种方法是:

  • 作为用户在
    [i,j]
  • 提示用户输入以
    |
    分隔的内容,然后读取整行内容,将值拆分为数组并形成行

您的问题似乎是对终端输入如何工作的根本误解。我建议您仔细阅读输入与输出以及终端如何一起处理它们。 public static void main(String[] args) { Scanner sc = new Scanner(System.in);

            int[][] noOfArrays;
            int noOfRows;
            int noOfColumns;

            System.out.println("Output : ");
            System.out.print("Input N = ");
            noOfRows = sc.nextInt();
            noOfColumns = noOfRows;

            noOfArrays = new int[noOfRows][noOfColumns];

            ///////////////////////////////

            for(int i = 0; i<noOfRows; i++)
            {
                for(int j=0; j<noOfColumns; j++)
                {
                    noOfArrays[i][j] = sc.nextInt();
                    System.out.print("  |  ");        
                }
                System.out.println("");
            }


        }