Java 嵌套循环:缩进文本

新手上路,请多包涵

谁能帮我解决这个问题?

打印数字 0, 1, 2, …, userNum,如图所示,每个数字缩进该数量的空格。对于每一行打印,打印前导空格,然后是数字,然后是换行符。提示:使用 i 和 j 作为循环变量(显式初始化 i 和 j)。注意:避免任何其他空格,例如印刷号码后的空格。例如:userNum = 3 打印:

给出的代码如下:

 public class NestedLoop {

public static void main (String [] args) {

  int userNum  = 0;
  int i = 0;
  int j = 0;

  /* Your solution goes here  */

  return;
}
}

任何建议,将不胜感激。谢谢你。

原文由 bryan callahan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 488
2 个回答

我不认为 ij 在这个意义上是必要的……

 for (int i = 0; i <= userNum; i++) {
    for (int j = 0; j < i; j++) {
        System.out.print(" ");
    }
    System.out.println(i);
}

原文由 Michael 发布,翻译遵循 CC BY-SA 3.0 许可协议

这有点晚了,但我正在学校的 zybooks 中做同样的挑战。上面标记为已解决的代码有点偏离。使用该代码在迭代开始时放置一个空格,所以它应该看起来更像这样,这样“空白”就不会有所不同,因为“int i”和“int j”已经在主字符串中定义了……

 for (i = 0; i < userNum; i++) {
   for (j = 1; j < i; j++) {
      System.out.print(" ");
   }
   System.out.println(i);
}

从“i”和“j”中删除“int”,因为它们已经在您的主字符串中定义。您还必须制作“j = 1”,否则它会在 0 之前放置一个空格,这将有一个空格差异。希望这对遇到这一挑战的其他人有所帮助。

原文由 RobertB922 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题