/*从控制台接收一个正整数,判断该数字是否为质数,
质数(指在大于1的自然数中,除了1和它本身意外不再有其他因数的自然数)
因数是什么
3 * 5 = 15;
3和5都是15的因数
1 2 3 4 5 7
2 3 5 7 都是质数
*/
public class Homework4{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = s.nextInt();
//判断该数字是都为质数
//怎么判断num是不是质数
//思路:8除以2能不能整除,8除以3能不能整除,
//一直除下去,知道发现有能够整除的,表示该数一定不是质数
/*
假设输入的是7:
7/1 不用判断
7/2 需要判断
7/3 需要判断
7/4 需要判断 (假设这个判断,发现可以整除,就没必要往后判断)
7/5 需要判断
7/6 需要判断
7/7 不用判断
*/
//可以考虑再外边准备一个布尔型的标记
boolean zhiShu = true;
for(int i = 2; i < num ; i++){ //假设输入的是100
//System.out.print(i);
if(num % i ==0){
//System.out.println("该数字"+num+"不是质数");
zhiShu = false;
break;
}
}
System.out.println(num + (zhiShu ? "是":"不是")+"质数");
}
}

未经允许不得转载:天府数据港官方信息博客 » 作业3
客官点个赞呗! (0)