为什么我的数组不能在2d打印?

时间:2013-11-04 00:21:07

标签: java arrays

  rowsTotal = new double[rows];
  positions = new double [rows][];

  for(index = 0; index < rows; index++){
      System.out.print("Please enter number of positions in row " + (char)(index+65) + " : ");
      pos = keyboard.nextInt();
      if(pos > MAX_POSITIONS){
          System.out.print("ERROR: Out of range, try again: ");
          pos = keyboard.nextInt();
      }
      positions[index] = new double[pos];


      }


  System.out.print("(A)dd, (R)emove, (P)rint,          e(X)it : ");
  input = keyboard.next().charAt(0);
  input = Character.toUpperCase(input);


  if(input == 'P'){
      for(int index1= 0; index1 < rows; index1++){
          for(int pos1= 0; pos1 < pos; pos1++){

              System.out.print(positions[index1][pos1] + " "); 
          }



  }

  }

我希望输出将其显示为每行的矩阵,因此对于第一行,它将是行A的值,第二行将是行B的值等,等等

但是它输出的所有内容都在同一行:

0.0 0.0 0.0 0.0

而不是

0.0 0.0(第A行)

0.0 0.0(第B行)

3 个答案:

答案 0 :(得分:3)

你忘记了每行后的换行符。

for(int index1 = 0; index1 < rows; index1++)
{
    for(int pos1 = 0; pos1 < pos; pos1++)
    {
        System.out.print(positions[index1][pos1] + " ");
    }
    System.out.println(); // <-- This one!
}

答案 1 :(得分:1)

也许,用

添加换行符
System.out.println("");

在最里面的for循环之后?

答案 2 :(得分:1)

添加

System.out.println("");

在第一次循环结束时。