用java编写:以下5道题目 1.有一个整数数组,其中存放着序列1,3,5,7,

2024-11-07 10:45:01
推荐回答(1个)
回答1:

public static void test1(){

Integer[] s = {1,3,5,7,9,11,13,15,17,19};

Comparator cmp = new MyComparator();

Arrays.sort(s, cmp);

for(Integer i:s){

System.out.println(i);

}

}


static class MyComparator implements Comparator {

@Override

public int compare(Integer o1, Integer o2) {

return o2 -o1;

}

}


public static void test2(){

try{

Scanner scan = new Scanner(System.in);

System.out.println("请输入学生数:");

int count = scan.nextInt();

int cur = 0;

List> list = new ArrayList>();

while(cur

System.out.println("请输入第" + (cur+1) + "个学生的姓名");

String name = scan.next();

System.out.println("请输入第" + (cur+1) + "个学生的成绩");

float sco = scan.nextFloat();

Map m = new HashMap();

m.put("name", name);

m.put("score", sco);

list.add(m);

cur++;

}

Collections.sort(list, new Comparator>() {  //排序

@Override  

public int compare(Map o1, Map o2) {  

if (o1.get("score") == null && o2.get("score") == null)  

return 0;  

if (o1.get("score") == null)  

return -1;  

if (o2.get("score") == null)  

return 1;  

return Float.valueOf(o2.get("score").toString()).compareTo(Float.valueOf(o1.get("score").toString()));  

}  

});  

for(Map m :list){

System.out.println("学生姓名:"+m.get("name")+",成绩:"+m.get("score"));

}

}catch(Exception e){

e.printStackTrace();

}

}


public static void test3(){

Integer[] a1 = {1,3,5,7,9,1,1,15,17,19};

Integer[] a2 = new Integer[a1.length];

for(int i=0;i

a2[i] = a1[i];

}


Arrays.sort(a1);

Integer min = a1[0];

for(int i=0;i

if(min==a2[i]){

System.out.println("最小元素下标:"+i);

}

}

}


public static void test4(){

Integer[] a1 = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

List list = new ArrayList();

for(int i=0;i

if(0!=a1[i]){

list.add(a1[i]);

}

}

Integer[] a2 = new Integer[list.size()];//新数组

for(int i=0;i

a2[i] = list.get(i);

}

for(Integer s :a2){

System.out.print(s+" ");

}

}


public static void test5(){

Integer[] a1 = {1,7,9,11,13,15,17,19};

Integer[] a2 = {2,4,6,8,10};

List list = new ArrayList();//所谓合并,区分是否去重复,这里没做去重复处理

for(Integer i:a1){

list.add(i);//

// if(!list.contains(i)){//去重复处理,需要再加

//

// }

}


for(Integer i:a2){

list.add(i);//

}


Integer[] a3 = new Integer[list.size()];//新数组

for(int i=0;i

a3[i] = list.get(i);

}

Arrays.sort(a3);

}