有 Java 编程相关的问题?

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

数组for循环中需要的Java变量

我对这里很陌生,对Java也很陌生。我试图解决一个问题,我以为我有一个解决方案,但坚持这个错误,我无法修复。为了让你了解我的意图(以防不清楚),问题是: “能被1到20的所有数字整除的最小正数是多少?” 我不想要解决方案,而是想要任何帮助来摆脱“for循环中预期的Java变量”如有错误,我们将不胜感激

public class Main {
    public static void main(String[] args) {
        int remainder = 0;
        int remainders[] = new int[20];
        int j = 1;
        int remaindersMax = 0;
        while (true) {
            for (int i = 1; i <= 20; i++) {
                j % i = remainders[i];
                for (int k = 0; k < remainders.length; k++) {
                    if (remaindersMax < remainders[i]) {
                        remaindersMax = remainders[i];
                    }
                }
            }
            if (remaindersMax == 0) {
                break;
            }
            System.out.println(j);
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    j % i = remainders[i];
    

    是无效语法。变量赋值的左侧(LHS)只能包含变量,不能包含表达式。右侧(RHS)可以包含任意复杂的表达式。您希望为索引i处的数组remainders分配模运算的值。交换LHS和RHS以使程序可编译:

    remainders[i] = j % i;