java学习之旅:大于输入正整数的最小质数

越来越发现学习编程和java有意思了,,,,

话不多说,这是我今天觉得最有收获的地方,上代码

1、最初代码:说实话有点拉垮,写的中间就感觉只再添一个方法有点麻烦,或者说把所有的主要代码片段都放入一个方法里会给人带来很多思想上的麻烦,而且for循环嵌套里所加的新变量太多

public class MinPrimenumber
{public static void main(String[] args){java.util.Scanner s = new java.util.Scanner(System.in);System.out.print("请输入一个正整数:");int n = s.nextInt();int number = primenumber(n);System.out.printf("大于%d的最小质数是%d\n", n ,number);}public static int primenumber(int i){for (int a = i + 1;true ;a++ ){int x = 0;for ( x = a - 1;x > 1 ;x-- ){if (a % x == 0)break;}if (x == 1){return a;}}}
}

2、初步简化代码:这次初步简化把部分循环放入主方法里,新建的方法里代码就会简单很多,而且易懂易写,少了很多不必要的麻烦,但是其实还是不够简化。

public class MinPrimenumber
{public static void main(String[] args){java.util.Scanner s = new java.util.Scanner(System.in);System.out.print("请输入一个正整数:");int n = s.nextInt();for (int a = n + 1;true ;a++ ){if (primenumber(a)){System.out.printf("大于%d的最小质数是%d\n", n ,a);break;}}}public static boolean primenumber(int i){for (int x = i - 1;x > 1 ;x-- ){if (i % x == 0){return false;}}return true;	}
}

3、最终版简化代码:将主方法里的for循环再次简化,当然这是跟B站老师学的(我只能简化到上面那步),单这个简化的方式就让我耳目一新,这种简化的思路让我对之后的学习充满了期待,这种思想的表达让我对编程越来越感兴趣了。

public class MinPrimenumber
{public static void main(String[] args){java.util.Scanner s = new java.util.Scanner(System.in);System.out.print("请输入一个正整数:");int n = s.nextInt();//下面这个循环跟上面的的是一个效果,更简化了int number = n ;while(!primenumber(++number)){}System.out.printf("大于%d的最小质数是%d\n", n ,number);}public static boolean primenumber(int i){for (int x = i - 1;x > 1 ;x-- ){if (i % x == 0){return false;}}return true;	}
}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部