我是Java
的新人,这是我第一次尝试编写程序:
我需要编写一个程序来打印所有正整数的总和
超过1000,除以3或5。
这是我的(不良)尝试。在编译之后,它只是接收数字并显示它们:
import java.util.Scanner;
public class ex1 {
public static void main(String[] args) {
int num=1;
int count = 1;
while (count <=1000) {
if (count%3==0|count%5==0){
count = count+num;
count++;
}
}
System.out.println(count);
}
}
答案 0 :(得分:3)
鉴于您使用了一段时间,我认为您不了解for循环,因此我将避免使用它。
您的代码应该:
第1点):
int sum = 0;
第2点):
int value = 1;
while (value <= 1000) {
//do point 3
value++;
}
第3点):
if ((value%3==0) || (value%5==0)) {
sum = sum + value;
}
第4点):
System.out.println(sum);
全部放在一起:
int sum = 0;
int value = 1;
while (value <= 1000) {
if ((value%3==0) || (value%5==0)) {
sum = sum + value;
}
value++;
}
System.out.println(sum);
您的主要错误是使用count和while条件的值检查。单管的误用为或者也是错误。
希望这有帮助
答案 1 :(得分:1)
public class Test {
public static void main(String[] args) {
int num=1;
int sum=0;
while (num <=1000) {
if (num%3==0||num%5==0){
sum = sum +num;
}
num++;
}
System.out.println(sum);
}
}
答案 2 :(得分:0)
你已将count++
置于if块中。这意味着如果数字可以被3或5整除,那么你正在递增count
。将它放在if块之外。我重新编写了您的代码,如下所示 -
import java.util.Scanner;
public class ex1 {
public static void main(String[] args) {
int sum = 0;
int count = 1;
while (count <=1000) {
if (count%3==0||count%5==0){
sum = sum + count;
}
count++;
}
System.out.println(sum);
}
}