如何在java

时间:2015-05-19 10:11:59

标签: java arrays

5
1,0,1,1,1
1,1,1,1,1
0,0,0,1,1
0,1,0,1,0
1,0,0,1,1

我试图将上述值存储到二维数组中。我的代码是针对这个问题给出的。我不知道它为什么不存储这些值。

 public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        System.out.println(n);
        String[][] multi = new String[n][n];
        int i=0;
        int t=n;
        while(t>0){
            String s=scan.nextLine();
            String b[]=s.split(",");

            for(int j=0;j<b.length;j++){

                //System.out.print(b[j]+" ");
                multi[i][j]=b[j];
            }
            //System.out.println();
                i++;
                t--;
            }
        System.out.println(multi[0][0]);
        for(int k=0;i<n;i++){
            for(int j=0;j<n;j++){
                System.out.print(multi[k][j]+"  ");
                System.out.println();
            }

        }

        }

但它没有存储。任何人都可以帮我解决我的问题。 告诉我该怎么做。

3 个答案:

答案 0 :(得分:1)

更改

> for(int k=0;i<n;i++)

>  for(int k=0;k<n;k++)

编辑:

将最终循环更改为:

 for(int k=0;i<n;i++){
            for(int j=0;j<n;j++){
                System.out.print(multi[k][j]+"  ");
            }
                System.out.println();
        }  

您的最终代码如下:

public static void main(String[] args) {
    Scanner scan=new Scanner(System.in);
    int n=Integer.parseInt(scan.nextLine());
    String[][] multi = new String[n][n];
    int i=0;
    int t=0;
    while(t<n){
        String s=scan.nextLine();
        String b[]=s.split("\\,");
        for(int j=0;j<b.length;j++){
            multi[i][j]=b[j];
        }
            i++;
            t++;
        }

    System.out.println(multi[0][0]);

    for(int k=0;k<n;k++){
        for(int j=0;j<n;j++){
            System.out.print(multi[k][j]+"  ");
        }
        System.out.println();
    }

    }  

祝你好运。

答案 1 :(得分:0)

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int n = Integer.parseInt(scan.nextLine());
    String[][] multi = new String[n][n];
    int i = 0;
    int t = n;

    while (t > 0) {

        String s = scan.nextLine();
        String b[] = s.split(",");

        for (int j = 0; j < b.length; j++) {
            multi[i][j] = b[j];
        }

        i++;
        t--;
    }

    for (int k = 0; k < n; k++) {
        for (int j = 0; j < n; j++) {
            System.out.print(multi[k][j] + "  ");
            System.out.println();
        }
    }
}

答案 2 :(得分:-1)

请更换 int n = scan.nextInt()

by int n = scan.nextLine()