码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-04-02 16:57:05      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:默认   public   pack   scan   scanner   alt   i++   inf   代码   

代码如下:

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

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

标签:默认   public   pack   scan   scanner   alt   i++   inf   代码   

原文地址:https://www.cnblogs.com/fjcy/p/10643522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!