错误类型不匹配,java.lang.String [] []与java.lang.String []不匹配

时间:2017-03-30 23:33:46

标签: java arrays processing

Table table;
String N;
String F;
String data;
String[] test = new String[1];
String stringcolumn;

//Here is where I assign all the variables.

void setup() {

  table = loadTable("CVSTEST.csv", "header");
  int rows = table.getRowCount();
  int columns = table.getColumnCount();

  //Get the row count and the table

  for(int column = 0; column <= columns; column++){
    for(int row = 0; row <= rows; row++){

          //For every row in every column, assign data the input for later use

          data = table.getString(rows,columns);
          stringcolumn = Integer.toString(column);
          test = new String[stringcolumn][data];

          //Here is where the error occurs, I try to assign string column and data to the string array of test.

    }
  }
}

所以我已经坚持了一段时间。我正在制作一个程序,当你把它放在表格中时打印出数据,E.G

Name Score
Tim  513

但我一直遇到这个错误。我将它保存为浮点数以保持其有序,因此将来打印它更容易,我可以在以后的代码中使用这些数据,并在以后用它进行比较。欢呼声。

1 个答案:

答案 0 :(得分:0)

我真的不明白为什么你要经历一个阵列。 Table类已包含允许您从索引访问数据的函数。但即使你试图做一些稍微不同的事情,希望这会有所帮助:

你遇到了一些问题。首先:

String[] test = new String[1];

这声明你的test变量是一维String数组,长度为1,这没有多大意义:为什么你需要一个数组,如果它只是要存储单个值吗?

如果你想将它声明为二维String数组,你可以这样做:

String[][] test;

请注意,这声明了数组,但它尚未初始化它。要初始化它,您可能想知道2D数组的大小。我假设您要使用表中的列数和行数?如果是这样,你会这样做:

void setup() {

  table = loadTable("CVSTEST.csv", "header");
  int rows = table.getRowCount();
  int columns = table.getColumnCount();

  test = new String[rows][columns];

现在你的test变量是一个二维数组,您可以将其视为一个数组数组。

接下来,这条线毫无意义:

test = new String[stringcolumn][data];

你想在这做什么?由于这是在嵌套的for循环中,因此尝试为表中的每个单元格创建一个新的二维数组。我猜你真正想要做的是拥有一个二维数组,并在这个嵌套的for循环中填充其索引。像这样:

test[row][column] = data;

这会将[row][column]位置的索引设置为等于String变量中的data