有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何从二维数组(java)打印出奇数索引元素?

对于任何给定的维度(这里我只是将其设置为8以使其更容易),我希望打印出具有奇数索引的字母。所以我试图得到一个输出,比如:bd F H。。。以及其他字母(取决于尺寸)。我设置了一个while循环,使行为0,因为我只想打印出第一行的奇数字母,然后在while循环中,我添加了一个for循环,以打印出奇数n的列(字母)。但是我得到了一个非错误:

error: not a statement
    for (n = 1; n<dimension; n +2){
                               ^

我也不确定在哪里放置循环来打印奇怪的字母。 这是我目前的代码:

  public static void main(String[] args) {
    int dimension = 8; // normally any given dimension (int dimension = Integer.parseInt(args[0]))
    int n = dimension - 1;
    int m = dimension -1;
    char [] alphabet = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    int [] nums = new int [dimension];
    for (int i = 0; i < dimension; i ++) {
      nums [i] = i + 1;
    }
    int [] [] position = new int [dimension] [dimension];
    for (int row = 0; row < dimension; row ++) {
      for (int col = 0; col < dimension; col ++) {
        position [row] [col] = alphabet[col] + nums[row];
      }
  }
  char p = (char)(position[m][n] - nums[n]);
  while (m == 0) {
    for (n = 1; n<dimension; n +2){
      System.out.println(p);                     //odd letters on the first row
    }
  }
}
}

编辑:程序正在编译,但是循环不工作,所以我没有得到任何输出。我该怎么修


共 (1) 个答案

  1. # 1 楼答案

    这是一个简单的语法错误

    for (n = 1; n<dimension; n +2){
    

    应该是:

    for (n = 1; n<dimension; n += 2){
    

    for语句的最后一部分是一个操作,可用于更改迭代器(或执行其他操作)。如果考虑以下代码行:

    n +2;
    

    这本身不是一个有效的声明。但是,以下语句是有效的

    n += 2;