A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kuaiyi 中级黑马   /  2017-8-5 11:30  /  949 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

[Java] 纯文本查看 复制代码
package fa;

import java.util.*;

/*
 * 创建一个list集合,提示用户输入5个数字,然后将这5个数字存放在list集合中
a.	将list集合中的元素按降序排序后存放进数组中。
b.	提示用户输入任意一个数字,然后根据数组当前顺序插入数组中,其他数字顺延,最后一位删除,
最后打印出插入后数组中的所有元素
比如:数组元素为[8,7,5,3,3],如果输入的是4则是[8,7,5,4,3],如果输入的是2则数组不变)
 */
public class test2 {
	static ArrayList<Integer>a=new ArrayList<Integer>();
	static int[] ii;
static 	public void paixu(ArrayList<Integer>a){
		for(int i=1;i<a.size();i++){
			for(int j=0;j<a.size()-i;j++){
				if(a.get(j)<a.get(j+1)){
				int temp=	a.get(j);
				a.set(j,a.get(j+1));
					a.set(j+1, temp);
				}
			}
		}
		ii=new int[a.size()];
		for(int i=0;i<a.size();i++){
			ii[i]=a.get(i);
		}
	}
	
	public static void charu(int []i,int x)//将用户输入数据,按数组当前顺序插入,其他数字顺延
	{
	if(x>i[i.length-1]){
		int temp=0;int k=0;int num=0;
		for(int jj=0;jj<i.length;jj++ ){
			
			
			 if((i[jj]<x)){
				 num++;
				 
				
				 if(num==1){
					 temp=i[jj];
				i[jj]=x;}
				 else{
					 k=temp;
					temp=i[jj];
				i[jj]=k;
				
				 }
				
			}
			
			
		}
	}
	}
	
public static void main(String[]args){
	Scanner s=new Scanner(System.in);
	
	System.out.println("用户输入5个数字");
	for(int i=0;i<5;i++){
	int n=s.nextInt();
	a.add(n);
	
	}
	paixu(a);
	System.out.println("用户输入任意一个数字");
	int n2=s.nextInt();
	charu(ii,n2);
	for(int j:ii){
	System.out.println(j);}
}

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马