JAVA flag怎么用
关注:61 答案:3 mip版
解决时间 2021-01-29 16:36
提问者傃顏莄蒾亾
2021-01-29 06:22
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0
输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:括号内是说明
输入
4 (repeat=4)
1 2 9 17
输出
NO (1不是素数)
YES (2是素数)
NO (9不是素数)
YES (17是素数)
import java.util.Scanner;
public class Test50004{
public static void main(String args[]){
int ri, repeat,n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
}
不要改变输出形式,请给出答案,谢谢
最佳答案
二级知识专家千里故人稀
2021-01-29 07:45
import java.util.Scanner;
public class Test50004{
public static void main(String args[]){
int ri, repeat,n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
flag = prime(n);
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
public static boolean prime(int num ){
boolean flag = true;//判断是否为素数的变量
for (int m = 2; m <= (num - 1); m++) {// 循环2 因为1和本身肯定能被整除 所以从2开始至当前数-1循环
if (num % m == 0) {// 如果循环2循环到有数能被当前数整除 则跳出循环2 并且当前数不是质数 设置flag为false
flag = false;
break;
}
}
return flag;
}
}
全部回答
1楼你的幸福"关我啥事
2021-01-29 09:42
1楼的很好,把for循环里的num-1换成num/2更好,还有在return前加上如下内容:
if(num==1) flag=false;
这样才能在输入1时输出NO。
2楼清欢话寂寥
2021-01-29 08:58
//原来括号内的是说明啊,我还一直想要怎么才能把括号的提到后边呢,哈哈。代码搞定了,你看看。
import java.util.scanner;
public class test50004{
public static void main(string args[]){
int ri, repeat,n;
boolean flag;
scanner in=new scanner(system.in);
repeat=in.nextint();
for(ri=1; ri<=repeat; ri++){
n=in.nextint();
flag=prime(n);
if(flag) system.out.println("yes");
else system.out.println("no");
}
}
public static boolean prime(int m){
for(int ri=2;ri<=math.sqrt(m);ri++){
if(m%ri!=0) continue ;
return false;
}
return true;
}
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看