java - For 循环计数不正确,以某种方式从错误的变量计数?

标签 java for-loop increment

<分区>

好的,我正在为我的编程类(class)制作一个程序,我正在尝试获取它,以便在我键入列和行时,它会得到一个显示乘法表的输出。下面是一个示例,供您可视化:printTable(4,6) 的示例运行输出:

Example:

现在,这是我的代码:

 import java.util.Scanner;

 public class Pictures {

public static int row;
public static int column;
public static Scanner input = new Scanner(System.in);

public static void main(String[] args){
int x = 1;
int y = 1;

System.out.println("Input Row: ");
row = input.nextInt();
System.out.println("Input Column: ");
column = input.nextInt();

for(x = 1; x < row; x++){
    System.out.print(x * y +  "    ");

    for(y = 1 ; y < column; y++){

        System.out.print(y * x + "    ");
    }
    System.out.println();   
}   
}
}

现在,当我输入第 5 行和第 5 列时,我的输出如下所示:

1    1    2    3    4    
10    2    4    6    8    
15    3    6    9    12    
20    4    8    12    16

我知道我没有看到相当简单的东西,但我只是不明白为什么会这样。如果有人可以提供建议,那将有很大帮助。

谢谢, 萨利

最佳答案

出于学习目的,请使用调试器来理解您的代码。

要修复它,请删除这些行:

int x = 1;
int y = 1;

让你的循环像这样:

for(int x = 1; x < row; x++){
    // System.out.print(x * y +  "    "); // no print needed here
    for(int y = 1 ; y < column; y++){
        System.out.print(y * x + "\t");
    }
    System.out.println(); 
}  

这是一个link到解释 for 循环的 Oracle Java 教程部分。 谢谢Mike在评论中提到均匀间距。更新了代码。

关于java - For 循环计数不正确,以某种方式从错误的变量计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14164584/

相关文章:

scala - Scala 中的自增 (++) 运算符

c - 指针指向的 int 的增量值

java - 如何根据输入的字符串打印数组列表中的特定项目

java - 使用 Glide 库加载音频/音乐文件封面

python - 将 for 循环集成到 if 语句中

java - "if else"中的 break 语句 - java

java - 在循环内递增对象名称

java - 无法将字母转换为数字并反转

java - 使用包编译Java项目

c++ - 即使串行可用,代码也会继续循环