[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=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);}
}
}