输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数
Posted fjcy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数相关的知识,希望对你有一定的参考价值。
代码如下:
package array; import java.util.*; public class array0 { public static void main(String[] args) {System.out.print("输入十个int类型的数据:"); Scanner a = new Scanner(System.in); int i; int b[]=new int[10]; for(i=0;i<10;i++) {int n=a.nextInt(); //这里采用循环输入并存入数组中 b[i]=n; } Arrays.sort(b); //这里运用了数组排序函数Arrays.sort,如果不加参数则默认为升序排序 System.out.print("升序排序为:"); for(i=0;i<10;i++) { System.out.print(b[i]+" "); //将排序后的数组按顺序输出 } System.out.print("\\n"); System.out.print("数组中素数为:"); for(i=0;i<10;i++) {int x; for(x=2;x<=b[i];x++) //因为最小的素数为2,所以从2开始判断 { if(b[i]%x!=0) //判断整形数据是否能被整除,若不能整除,则循环继续,若整除,则退出循环 continue; else break; } if(x==b[i]) //判断循环次数,如果循环的x值等于该整形数据,则一定为素数,并将其输出 System.out.print(b[i]+" "); } } }
运行结果如下:
总结心得:
(1)输入数据时,因为涉及到多个数据的输入,所以要循环输入
(2)输入数组后,排序所用到的sort函数要注意,在开始创建的数组大小一定要和数组容量相同,即int b[]=new int[10],如果过大,就会数据排序出错
(3)最后在判断素数时,要注意排除0和1的干扰,最小的素数是2,所以要控制循环开始的位置
(4)判断循环时,我这里运用了循环退出机制,即continue和break,通过判断循环次数来判断是否是素数
以上是关于输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数的主要内容,如果未能解决你的问题,请参考以下文章