控制不好循环,望高手指教。
题目是这样的:从1到100开始计数,遇到3的倍数就替换为单词“Flip”、遇到5的倍数就替换为单词“Flop”、即为3的倍数又
为5的倍数的就替换为单词“FlipFlop”,其余情况下就输出当前的数字。我所写的程序如下:
请各位前辈帮我看看程序需要在哪里纠正的,谢谢了
public class Lijie01 {
public static void main(String[] args){
int i = 1;
String cut = "Flip";
String cuc = "Flop";
String cuu = "FlipFlop";
for(;i<=100;i++){
if(i%3==0 && i%5==0){
System.out.println(cuu);
}
if(i%3 == 0){
System.out.println(cut);
}
if(i%5 ==0){
System.out.println(cuc);
}
System.out.println(i);
}
}
}
[解决办法]
要加else的,否则直接穿透了
[解决办法]
public class Lijie01 {public static void main(String[] args){int i = 1;String cut = "Flip";String cuc = "Flop";String cuu = "FlipFlop";for(;i<=100;i++){if(i%3==0 && i%5==0){System.out.println(cuu);}if(i%3 == 0&&!(i%5==0)){//这里System.out.println(cut); } if(i%5 ==0&&!(i%3==0)){//这里System.out.println(cuc);}System.out.println(i);}}}
[解决办法]
2楼说的对,if 前面要加else,否则三个就是对立的if了,这样就有可能同时被执行
public class Lijie01 {
public static void main(String[] args){
int i = 1;
String cut = "Flip";
String cuc = "Flop";
String cuu = "FlipFlop";
for(;i<=100;i++){
if(i%3==0 && i%5==0){
System.out.println(cuu);
}
else if(i%3 == 0){
System.out.println(cut);
}
else if(i%5 ==0){
System.out.println(cuc);
}
System.out.println(i);
}
}
}