Java 在开始和结束之间加上数字,然后求和除法的剩余部分

Java 在开始和结束之间加上数字,然后求和除法的剩余部分,java,sum,modulo,Java,Sum,Modulo,嘿,斯塔克社区 我的家庭作业有问题,所以不希望你们帮我解决,但我已经为这个问题挣扎了5天了,我真的不知道我做错了什么。我们要将开始和结束之间的所有数字相加,然后用给定的除数除以该和,如果除法的结果为0,则程序应使用System.out.println()给出true,否则给出false 我知道这是一个非常简单的问题,但这是我的第二周,所以我还不太熟悉所有Java函数。这是我得到的,但它根本没有给我任何答案。如果你能指出我错在哪里,我将不胜感激。提前谢谢你们 public class EX6 {

嘿,斯塔克社区

我的家庭作业有问题,所以不希望你们帮我解决,但我已经为这个问题挣扎了5天了,我真的不知道我做错了什么。我们要将开始和结束之间的所有数字相加,然后用给定的除数除以该和,如果除法的结果为0,则程序应使用
System.out.println()
给出true,否则给出false

我知道这是一个非常简单的问题,但这是我的第二周,所以我还不太熟悉所有Java函数。这是我得到的,但它根本没有给我任何答案。如果你能指出我错在哪里,我将不胜感激。提前谢谢你们

public class EX6 {

public static void main(String[]args) {
    {
    }
    int divisor = 14;
    int start = 42;
    int end = 678;
    int sum = 0;
    int i;
    i= 42;
    while (i<=end) sum= start +start++; i++;
    if (sum % divisor == 0) {System.out.println(true);
    } else{
    System.out.println(false);
} }}
公共类EX6{
公共静态void main(字符串[]args){
{
}
整数除数=14;
int start=42;
int end=678;
整数和=0;
int i;
i=42;

虽然(i首先,而不是
sum=start+start++
我认为您想要
sum=sum+start++
。您想要添加到运行总数中,而不是将
sum
设置为
start+start+1

其次,
println
需要传递一个字符串(
“true”
,而不是
true

此外,它并不完全是一个bug,但不需要变量
i
。如果仔细考虑,
i
始终等于
start
,因此您可以只引用
start
,而不是
i

public class EX6 {

    public static void main(String[]args) {
        int divisor = 14;
        int start = 42;
        int end = 678;
        int sum = 0;

        while (start <= end) {
            sum = sum + start++; 
        }

        if (sum % divisor == 0) {
            System.out.println("true");
        } else{
            System.out.println("false");
        } 
    }
}

以下是您需要做的:

int divisor = 14;
int start = 42;
int end = 678;
int sum = 0;
int i;
while (start<=end){
 sum+=start; 
 start = start++;
}
if (sum % divisor == 0) {
   System.out.println(true);
} else{
   System.out.println(false);
}
int除数=14;
int start=42;
int end=678;
整数和=0;
int i;

while(start)这是错误的。它在循环的每次迭代中设置sum=start+start。因此,在结束时,sum将仅为678+678。这不是正确的答案。抱歉,我的输入错误…我将把它改为sum+=start;
int divisor = 14;
int start = 42;
int end = 678;
int sum = 0;
int i;
while (start<=end){
 sum+=start; 
 start = start++;
}
if (sum % divisor == 0) {
   System.out.println(true);
} else{
   System.out.println(false);
}