为什么循环体内不能直接if-else,而要用标记变量flag?看下图就知道啦
import java.util.Scanner;
public class test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
boolean flag = true;//标记number是否为质数
for (int i =2;i<number;i++){
if (number%i==0) {
flag = false;//能被整除,number不是质数
//System.out.println("不是质数");break;
}//else System.out.println("是质数");
//不能直接else,直接else会(只判断%2不等于0,就直接打印“不是质数了”,i为3,4,5...时没判断)
}
//用标记变量---整个循环运行完了才打印是不是质数
if (flag==true){
System.out.println("是质数");//number是质数的话不会进到循环中
}else{
System.out.println("不是质数");
}
}
}