十年编程两茫茫,工期短,需求长。千行代码,Bug何处藏。纵使上线又如何,新版本,继续忙。黑白颠倒没商量,睡地铺,吃食堂。夜半梦醒,无人在身旁。最怕灯火阑珊时,手机响,心里慌。

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

代码如下:

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

posted @ 2019-04-02 16:38  风眷残云  阅读(1137)  评论(0编辑  收藏  举报