Java 为什么这个程序不起作用?
我想写一个程序,把1到1000之间的所有整数相加,它们可以被13、15或17整除,但不能被30整除。下面给出了我尝试的代码。我进入了一个循环,一次又一次地打印sum=0,直到永远。请帮忙Java 为什么这个程序不起作用?,java,loops,debugging,if-statement,while-loop,Java,Loops,Debugging,If Statement,While Loop,我想写一个程序,把1到1000之间的所有整数相加,它们可以被13、15或17整除,但不能被30整除。下面给出了我尝试的代码。我进入了一个循环,一次又一次地打印sum=0,直到永远。请帮忙 package project; public class div13n15n17not30 { int sum=0; int num=0; while(num<=1000){ if(num%13==0||num%15==0||num%17==0
package project;
public class div13n15n17not30 {
int sum=0;
int num=0;
while(num<=1000){
if(num%13==0||num%15==0||num%17==0 ){
if(num%30!=0){
sum=sum+num;
++num;
}
}
System.out.println("Sum = "+sum);
}
}
}
成套工程;
公共类分区13N15N17NOT30{
整数和=0;
int num=0;
而(num您可以使用模运算符%来确定它是否可以被该数字整除;模为0表示它可以被整除。因此您可以执行以下操作:
while(num<=1000) {
if(num%13==0||num%15==0||num%17==0 ){
if(num%30!=0){
sum=sum+num;
}
}
num++;
System.out.println("Sum = "+sum);
}
while(num尝试以下方法:
public static void main(String[] args) {
int sum = 0;
int num = 0;
while (num <= 1000) {
if (num % 13 == 0 || num % 15 == 0 || num % 17 == 0) {
if (num % 30 != 0) {
System.out.println("here" + num);
sum = sum + num;
}
}
++num;
}
System.out.println("Sum = " + sum);
}
publicstaticvoidmain(字符串[]args){
整数和=0;
int num=0;
while(num首先,你应该把你的代码放在一个函数中。对于这个例子,一个简单的main就足够了。你犯的错误是,你试图计数到1000
,但只在你增加和的时候增加了你的计数器值
您应该在每次迭代后执行此操作
public static void main(String[] args) {
int sum = 0;
int num = 0;
while (num <= 1000) {
if (num % 13 == 0 || num % 15 == 0 || num % 17 == 0) {
if (num % 30 != 0) {
sum = sum + num;
}
}
// increase num here.
++num;
}
System.out.println("Sum = " + sum);
}
如果需要,您只能使用一个
public static void main(String[] args) {
int sum = 0;
for(int num = 0;num <= 1000;++num) {
if ((num % 13 == 0 || num % 15 == 0 || num % 17 == 0)&& (num % 30 != 0)) {
sum = sum + num;
}
}
System.out.println("Sum = " + sum);
}
publicstaticvoidmain(字符串[]args){
整数和=0;
对于(int num=0;num)您的代码无法打印任何内容,因为它只出现在类中,而不是函数中。此代码不会编译。不,它没有在错误的位置,只是格式不好……我想我可以使用多个if或嵌套if。
public static void main(String[] args) {
int sum = 0;
for(int num = 0;num <= 1000;++num) {
if ((num % 13 == 0 || num % 15 == 0 || num % 17 == 0)&& (num % 30 != 0)) {
sum = sum + num;
}
}
System.out.println("Sum = " + sum);
}