Java程序计算

时间:2012-07-11 03:56:39

标签: java loops

用Java编写程序来计算以下内容:    1 + 2-3 + 4-5 ... -99 + 100

这个程序可以证明非常简单,但我是java的初学者,这是我到目前为止我不确定我是否在正确的道路上

我收到一条java:13错误消息错误:不是语句sub;

class Loop{
    public static void main(String[] args){
        int sum=0;
        int sum=0;
        int sub=0;

        while(num<100){

            num++;
            if(num%2 == 0){
                sum=sum+num;
            }
            sub;
            if(num%3== 0||num%5==0||num%7==0){
                sub=sub-num;
            }
        }
        System.out.println("Sum is: " +sum+sub);
    }
}

7 个答案:

答案 0 :(得分:1)

这是抱怨这一行:

sub;

这不是一个有效的指令,这就是编译器对你大喊大叫的原因。

答案 1 :(得分:1)

以下内容:

if(num%2 == 0){
    sum=sum+num;
}
sub;

最后一行sub;不是Java语句。你可能想删除它。

<强>更新


看起来你想要添加偶数和减去奇数(除了你想要添加的1)。如果我理解了这个要求:

您可以从声明两个变量开始,如下所示:

int sum = 1; //this will add 1
int n = 2;

循环条件应如下:

while(n <= 100) { //because you want to include 100 also

然后在循环的每次迭代中:

  • 如果n甚至将其添加到sum,则如果n为奇数,则将其添加到sum
  • 增加n后增加1。

最后,打印sum

的值

答案 2 :(得分:0)

class Loop{
   public static void main(String[] args){
   int sum=0;
   int sum=0;
   int sub=0;

    while(num<100){

     num++;
   if(num%2 == 0){
       sum=sum+num;
   }
   sub; <-- sub is not a statment
   if(num%3== 0||num%5==0||num%7==0){
       sub=sub-num;
       }
   }
   System.out.println("Sum is: " +sum+sub);
  }

}

你走在正确的轨道上,经过一些试验和错误,你会得到它:-)你的问题的原因在上面的代码中被注释,在你的程序中间你有一个随机sub;在自己的路线上。 sub在该上下文中没有意义,因此编译器不知道如何处理它。

答案 3 :(得分:0)

嗯,你声明“sum”两次,然后“sub;”不是一个有效的表达。

class Loop{
public static void main(String[] args){
    int sum=0;
    int sum=0; // second declaration? should probably be num, right? 
    int sub=0;

    while(num<100){

        num++;
        if(num%2 == 0){
            sum=sum+num;
        }
        sub; // what's this doing here?
        if(num%3== 0||num%5==0||num%7==0){
            sub=sub-num;
        }
    }
    System.out.println("Sum is: " +sum+sub);
}

}

答案 4 :(得分:0)

您可以使用简单的方法来实现它:

 public static void main(String[] args) {
    int sum = 1;
    for (int i = 2; i < 100; i++) {
        if (i % 2 == 0) {
            sum = sum + i;
        } else {
            sum = sum - i;
        }
    }
    System.out.println(sum);
}

答案 5 :(得分:0)

1)您不能拥有2个同名sum的变量 2)您需要在使用变量之前声明并初始化变量 3)陈述sub;表示什么?

制作上面提到的所有字符并尝试!

答案 6 :(得分:0)

public class Loop {

public static void main(String[] args) {
    int sum = 1;
    int sub = 0;

    for (int i = 2; i <= 100; i += 2)
        //sum =sum+i;
        sum +=i;

    System.out.println(sum);
    for (int i = 3; i <= 100; i += 2)
        sub += i;
    System.out.println(sub);
    System.out.println("Sum is: " +(sum-sub));
}

}

尝试此代码会为您提供所需的结果