gpt4 book ai didi

java - 我的 Java 程序正在测试整数是否能被 3 或 5 整除,但只是打印每个整数,我该如何修复它?

转载 作者:行者123 更新时间:2023-12-01 09:39:28 24 4
gpt4 key购买 nike

我的代码中根本没有出现错误,但它根本没有按照我想要的方式执行。据我了解有another question related to divisibility to 3 or 5但我认为这个问题无关,因为我们的编码是完全不同的。我还发现this answer , this other answer , or even this answer也没有帮助我。

无论如何,我试图使用一个简单的 boolean 表达式来确定表达式是否为真,然后如果为真则打印不同的行。我想要的外观是这样的:

3 is divisible by 3
3 is not divisible by 5
4 is not divisible by 3
4 is not divisible by 5
5 is not divisible by 3
5 is divisible by 5
and so on...

但是,我得到了这个:

3 is divisible by 3
3 is not divisible by 3
3 is divisible by 5
3 is not divisible by 5
and so on...

可以找到初始问题here.现在我只是在尝试代码,试图让自己更好地理解 Java。我想首先了解如何将可被数字整除的整数与不可被数字整除的整数分开,我认为测试这一点的最佳方法是打印出行。我不知道我在这里的方向是否正确。任何人都可以给我有关当前代码的指示,或者一些提示,例如指向我必须使用该程序才能工作的相应 Java 命令的链接。如果您发布有效的代码,这样我就可以看到我应该做什么,那也很好,但请向我解释一下。我不想只知道要输入什么,我正在努力为解决编程问题打下坚实的基础。

抱歉,如果这是一个糟糕的问题,我对一般编程非常陌生,并且完全是自学的。给我一些指示,我绝对可以改变这个问题!

package multiplesof3and5;

public class InitialProgram {

public static void main(String[] args) {
// TODO Auto-generated method stub
int integer1;
integer1 = 0;
boolean divisibleby3 = (integer1 % 3) == 0;
boolean divisibleby5 = (integer1 % 5) == 0;

for( integer1=0; integer1<1000; integer1++){
if(divisibleby3 = true);{
System.out.println(integer1 + " can be divided by 3");}
if(divisibleby3 = false);{
System.out.println(integer1 + " cannot be divided by 3");}
if(divisibleby5 = true);{
System.out.println(integer1 + " can be divided by 5");}
if(divisibleby5 = false);{
System.out.println(integer1 + " cannot be divided by 5");
}

}



}
}

最佳答案

开始:

if(divisibleby3 = true);{

有一个杂散的分号。其次,=是一个赋值,而==应该用于比较,对于 boolean 值来说甚至不是必需的。使用此格式:

if(divisibleby3){

if(!divisibleby3){ // if not divisible by three

其次,

boolean divisibleby3 = (integer1 % 3) == 0;
boolean divisibleby5 = (integer1 % 5) == 0;

需要在循环内部,否则它们只计算一次(您只检查 0 是否能被 3 和 5 整除,并一遍又一遍地使用该检查的结果,而不是检查每个整数)。

或者,您可以在每个循环中使用 if/else 两次,而不是使用 if/if 对(如果能被 3 整除,则打印它是,否则打印它不能整除;被 5 整除时也相同)。

最后,这是可以工作的代码:

public static void main(String[] args) {
for(int integer1 = 0; integer1 < 1000; integer1++){
boolean divisibleby3 = (integer1 % 3) == 0;
boolean divisibleby5 = (integer1 % 5) == 0;
if(divisibleby3) {
System.out.println(integer1 + " can be divided by 3");
} else {
System.out.println(integer1 + " cannot be divided by 3");
}
if(divisibleby5){
System.out.println(integer1 + " can be divided by 5");
} else {
System.out.println(integer1 + " cannot be divided by 5");
}

}



}

关于java - 我的 Java 程序正在测试整数是否能被 3 或 5 整除,但只是打印每个整数,我该如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com