好的,我正在编写一个程序,该程序也将制作垂直线,水平线,对角线!我有点困惑,我的输出没有任何意义。所以我的伪代码是这样的: //enter a char //enter a number that will determine how long the line is //define with easyreader what type of line it will be (hori, vert, diag) //the idea of making the diag lines was this... @ (two spaces) @ (four spaces) @ (six spaces) @ //we could use the sum spaces = spaces + 2; to keep on calculating what //the previous spaces was代码是: class starter { public static void main(String args[]) { System.out.print("What char would you like? "); EasyReader sym = new EasyReader(); String chars = sym.readWord(); System.out.print("How long would you like it to be? "); int nums = sym.readInt(); System.out.print("Diag, Vert, or Hori? "); //you want to read the __ varible, not the sym.readX() String line = sym.readWord(); System.out.println(""); System.out.println(""); if(line.equals("Hori")){ for(int x = 0; x < nums; x++){ System.out.print(chars + " "); } } else if(line.equals("Vert")){ for(int y = 0; y < nums; y++){ System.out.println(chars + " "); } } else{ for(int xy = 0; xy < nums; xy++){ for(int spaces = 0; spaces < nums; spaces++){ spaces = spaces + 2; System.out.print(spaces + " "); System.out.println(chars); } } } } }在底部,您将看到一个名为xy的for循环,该循环将读取行的长度。在该for循环下将控制空格。但是,由于某种原因,总和不能正确更新。输出始终为: 2 (char) 5 (char) 8 (char) 2 (char) 5 (char) 8 (char) ...输出应为: 2 (char) 4 (char) 8 (char) ...编辑**********由于我现在需要帮助,因此在这里更改示例是一个示例(因此,我不必在注释中解释太多)示例:如果用户放置,他希望生产线多达5个单位。使用两个for循环,一个控制他想要多少个空格,一个控制要打印多少个字符,则输出将是2、4、6、8、10。 最佳答案 在for循环语句中,您说“在每次迭代后将spaces增加一”(spaces++):for(int spaces = 0; spaces < nums; spaces++){在循环的主体中,您还要求将其增加2:spaces = spaces + 2;因此,每次迭代增加3。顺便说一句,嵌套循环似乎出了点问题(如果我正确理解了意图)。如果外部循环(在xy上循环)在每次迭代中画一条线,则应该为当前行输出缩进的内部循环必须以xy(乘以2)而不是。我会这样写:for (int xy = 0; xy < nums; xy++) { for (int spaces = 0; spaces < xy*2; spaces += 2) { System.out.print(" "); } System.out.println(chars);}关于java - 使用for循环更新总和(例如,空格=空格+ 2),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46042396/ 10-11 08:13