0
点赞
收藏
分享

微信扫一扫

3月23日作业

邯唐情感 2022-03-23 阅读 84
java

1、产生10个1-100的随机数,并放到一个数组中, 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class HWDemo01 {
    public static void main(String[] args) {
        Random random = new Random();  //创建随机数对象
        int[] arr = new int[10]; //创建数组
        ArrayList list = new ArrayList(); //创建一个Arraylist集合
        for (int i = 0; i < arr.length; i++) {
            arr[i] = random.nextInt(100);//把随机数存进数组
            if (arr[i] > 10) {
                list.add(arr[i]);
            }
        }
        System.out.println(list);

    }

}

2、已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位
String[] strs ={"12345","67891","12347809933","98765432102","67891","12347809933"}。
  将该数组里面的所有qq号都存放在LinkedList中,将list中重复元素删除,
  将list中所有元素分别用迭代器和增强for循环打印出来。

import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Set;

public class HWDemo02 {
    public static void main(String[] args) {
        String[] strs = {"12345", "67891", "12347809933", "98765432102", "67891", "12347809933"};
        Set<String> set = new HashSet<>();
        for (int i = 0; i < strs.length; i++) {
            set.add(strs[i]);
        }
        LinkedList<String> linkedList = new LinkedList<>(set);
        for (String s : linkedList) {//增强for循环
            System.out.println(s);
            System.out.println("=================");
        }
        Iterator<String> it = linkedList.iterator();//迭代器
        while (it.hasNext()) {
            System.out.print(it.next() + " ,");
        }
    }
}
3、用Comparable接口对下列四位同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序。
提示:
编写一个Student类用来实现Comparable<Student>接口,并在其中重写CompareTo(Student o)方法  

在这里插入图片描述

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class HWDemo03 {
    public static void main(String[] args) {
        Student s1 = new Student("liusan", 20, 90);
        Student s2 = new Student("lisi", 22, 90);
        Student s3 = new Student("wangwu", 20, 99);
        Student s4 = new Student("sunliu", 22, 100);
        ArrayList<Student> studentList = new ArrayList<>();
        studentList.add(s1);
        studentList.add(s2);
        studentList.add(s3);
        studentList.add(s4);

        System.out.println("原顺序:");
        for (Student s : studentList) {
            System.out.println(s);
        }
        System.out.println("排序后顺序:");
        Collections.sort(studentList, new StudentComparator());
        for (Student s : studentList) {
            System.out.println(s);
        }
    }
    static class Student implements Comparable<Student> {
        private String name;
        private int age;
        private double score;

        public Student(String name, int age, double score) {
            this.name = name;
            this.age = age;
            this.score = score;
        }

        @Override
        public String toString() {
            return "姓名:" + name +
                    ", 年龄:" + age +
                    ", 分数:" + score;
        }

        @Override
        public int compareTo(Student s) {
            if (this.score == s.score) {
                return this.age - s.age;
            }
            if (this.score - s.score > 0) {
                return -1;
            } else {
                return 1;
            }
        }
    }

    static class StudentComparator implements Comparator<Student> {

        @Override
        public int compare(Student o1, Student o2) {
            if (o1.score == o2.score) {
                return o1.age - o2.age;
            }
            if (o1.score - o2.score > 0) {
                return -1;
            } else {
                return 1;
            }
        }
    }


}

4、现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(1, "张三丰");
        map.put(2, "周芷若");
        map.put(3, "汪峰");
        map.put(4, "灭绝师太");
要求:
1.遍历集合,并将序号与对应人名打印。
2.向该map集合中插入一个编码为5姓名为李晓红的信息
3.移除该map中的编号为1的信息
4.将map集合中编号为2的姓名信息修改为"周林"
 

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HWDemo04 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "张三丰");
        map.put(2, "周芷若");
        map.put(3, "汪峰");
        map.put(4, "灭绝师太");
        //遍历集合,并将序号与对应人名打印
        Set<Integer> set = map.keySet();
        for (int i : set) {
            System.out.println(i + "=" + map.get(i));
            //向该map集合中插入一个编码为5姓名为郭靖的信息
            map.put(5, "郭靖");
            //移除该map中的编号为1的信息
            map.remove(1);
            //将map集合中编号为2的姓名信息修改为"周林"
            map.put(2, "周林");

            }
        }
    }

5、已知有十六支男子足球队参加2020 奥运会。写一个程序,把这16 支球队随机分为4 个组。
采用List集合和随机数
  2020 奥运会男足参赛国家: 
科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,
新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class HWDemo05 {
    public static void main(String[] args) {
        List<String> lt = new ArrayList<>();
        lt.add("科特迪瓦");
        lt.add("阿根廷");
        lt.add("澳大利亚");
        lt.add("塞尔维亚");
        lt.add("荷兰");
        lt.add("尼日利亚");
        lt.add("日本");
        lt.add("美国");
        lt.add("中国");
        lt.add("新西兰");
        lt.add("巴西");
        lt.add("比利时");
        lt.add("韩国");
        lt.add("喀麦隆");
        lt.add("洪都拉斯");
        lt.add("意大利");
        Random random = new Random();
        for (int i = 0; i < 4; i++)
        {System.out.println("第" + (i + 1) + "组是:");}
        for (int j = 0; j < 4; j++)
        {String string;
            string = lt.get(random.nextInt(lt.size()));
            System.out.print(string + " ");
            lt.remove(string);
        }
        System.out.println("\n");

    }
}
举报

相关推荐

4月23日作业

3月23日

3月23日笔记

4月23日

SSD学习笔记---2022年3月23日

4月25日作业

4月21日作业

4月12日作业

0 条评论