Java 判断一个整数是否是质数

柔情只为你懂 2023-10-03 10:52 80阅读 0赞

Java 使用三元表达式判断一个整数是素数还是合数

  1. import java.util.Scanner;
  2. // 导入获取控制台的相关模块
  3. public class PrimeNum {
  4. public static void main(String[] args){
  5. // int i = 7;
  6. boolean isPrime = true;
  7. System.out.print("请输入一个整数:");//获取控制台的信息
  8. Scanner sc = new Scanner(System.in);
  9. int i = sc.nextInt();//得到控制台输入的信息2
  10. if (i == 1 || i == 2){
  11. isPrime = true;
  12. }
  13. else{
  14. for (int j = 2; j < i; j++){
  15. //判断素数,如果i能整除j就可以跳出循环
  16. if(i % j ==0){
  17. isPrime = false;
  18. break;
  19. }
  20. }
  21. }
  22. // 使用三元运算符判断isPrime的值,可以让代码更简洁
  23. System.out.println(isPrime ? i + "是素数" : i + "不是素数" );
  24. }
  25. }

不使用三元表达式判断质数

  1. import java.util.Scanner;
  2. //使用Java程序判断输入的整数是不是质数
  3. public class Prime{
  4. public static void main(String[] args){
  5. // 使用onOff判断作为while循环的开关
  6. int onOff = 0;
  7. while(onOff < 1){
  8. System.out.print("请输入一个整数:");
  9. boolean flag = true;
  10. Scanner sc = new Scanner(System.in); //获取控制台信息
  11. int num = sc.nextInt(); //控制台输入的信息
  12. // 使用for循环将控制台输入的整数除以2而后用得到的数进行循环判断
  13. // if(num == 2){
  14. // System.out.println("2是质数");
  15. // // return;
  16. // }
  17. for (int i = 2; i < num/2;i++){
  18. // 使用for循环进行条件判断,如果用户输入的值能被其2倍数整除,说明不是质数,将flag的值变为false,并跳出for循环,进入下一步判断
  19. System.out.println(num / i); //输出循环出来的值
  20. if (num % i == 0){
  21. flag = false;
  22. break;
  23. }
  24. }
  25. if (flag){
  26. System.out.println(num + "是质数");
  27. }else{
  28. System.out.println(num + "不是质数");
  29. }
  30. System.out.print("输入小于或等于0的整数继续判断,输入其他正整数退出Java程序:");
  31. onOff = sc.nextInt();
  32. }
  33. }
  34. }

发表评论

表情:
评论列表 (有 0 条评论,80人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++判断是否素数(质数

    素数就是除1和它本身外没有其他的因数了叫做素数 1只有1个因数1,所有1既不是合数也不是素数 4有3个因数,属于合数 2只有2个因数,属于质数或素数 那么怎么判