输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数

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,通过判断循环次数来判断是否是素数

以上是关于输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数的主要内容,如果未能解决你的问题,请参考以下文章

冒泡排序

对整形数组进行快速排序

大数据量的冒泡排序 (计次数)

最短无序连续子数组

581-最短无序连续子数组

Java实现升序排列的整形数组A,元素两两不相等找出A[i]=i的数据