java - 这段代码如何用 for 循环形成 z 形状?

标签 java for-loop

public class Main {

    public static void main(String[] args) {
        int numTiles = 8;
        for(int i=0; i<numTiles;i++){
            for(int j=0; j<numTiles;j++){
                if(i==0 || i==numTiles-1){
                    System.out.print("1");  
                }else if (i+j==numTiles-1){
                    System.out.print("1");              
                }else{
                    System.out.print(" ");
                }               
            }
            System.out.println();
        }
    }
}

我看到它以一个 for 循环开始,该循环根据 numTiles 的值重复。然后第二个for循环重复8次并打印出8个1。我不明白for循环中的else-if和else。

如果我能澄清 else-if 和 else 条件,我将不胜感激。

最佳答案

i 表示行索引,而 j 表示列。

  • if 打印顶行和底行。
  • else if 打印对角线,因为它相当于线性函数 x + y = c(仅当 x,yi,j)。

考虑以下 Javascript 中的等效代码,其中我将 else if 内的打印内容切换为数字 2:

let numTiles = 8;
for (let i = 0; i < numTiles; i++) {
  let row = "";
  for (let j = 0; j < numTiles; j++) {
    if (i == 0 || i == numTiles - 1) {
      row += "1";
    } else if (i + j == numTiles - 1) {
      row += "2";
    } else {
      row += " ";
    }
  }
  console.log(row + '\n');
}

关于java - 这段代码如何用 for 循环形成 z 形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717529/

相关文章:

java - SWT (JFace) 中的 FontRegistry 和 Dispose

java - Intellij Idea - 自动将 final 关键字添加到生成的变量中

java - 是否可以让 log4j 显示它用来配置自己的文件?

java - Apache POI 获取 NPE 读取 xls 文件

java - 迭代一个巨大的列表更好的替代方法

java - Commons-configuration 和 DefaultConfigurationBuilder 不会自动重新加载

java - Java中的无序对

javascript - 遍历 Div

c++ - 在 'break' 中使用 'for-loop' 对性能的影响

java - 如何同时运行两个不同的主类?