JAVA flag怎么用

程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数n,如果它是素数,输出"YES",否... 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数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");
}
}
/*------------*/
}

不要改变输出形式,请给出答案,谢谢
展开
 我来答
Jseven_jy
推荐于2017-10-15 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1145万
展开全部
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;

}

}
恋梦_lan
2010-06-24 · TA获得超过2101个赞
知道小有建树答主
回答量:532
采纳率:0%
帮助的人:443万
展开全部
1楼的很好,把for循环里的num-1换成num/2更好,还有在return前加上如下内容:

if(num==1) flag=false;

这样才能在输入1时输出NO。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式