声明一个Set集合,只能保存Double类型的数据, 保存10个随机100以内的数, 找出最大值和最小值,打印输出.


public static void main(String[] args) { Set<Double> set =new HashSet<Double>();
System.out.println("10个100以内的随机数");
for(int i=0;i<10;i++){
set.add(Math.random()*100);
}
double max = -Double.MAX_VALUE;
double min = Double.MIN_VALUE;
for(Double dou1:set){
if(dou1>max){
max=dou1;
}
}
for(Double dou2:set){
if(dou2<min){
min=dou2;
}
}
System.out.println(set);
System.out.println("最大值:"+Collections.max(set));
System.out.println("最小值:"+Collections.min(set));
}

创建一个List集合对象,添加20个30以内的随机整数, 不允许重复. 并打印输出

public static void main(String[] args) {

        System.out.println("20个30以内的随机整数:");
List list = new ArrayList<>();
while(list.size()!=20){
int rand = (int)(Math.random()*30);
if(!list.contains(rand)){
list.add(rand);
}
}
Iterator iter = list.iterator();
while(iter.hasNext()){
System.out.print(iter.next()+" ");
}
}

1)从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。2)读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1994 2002 读入“荷兰”,应当输出 没有获得过世界杯

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入年份(例如1990):");
int year = sc.nextInt();
switch(year){
case 1930:
case 1950:
System.out.println("乌拉圭");
break;
case 1934:
case 1938:
case 1982:
case 2006:
System.out.println("该年世界冠军的是:意大利!");
break;
case 1954:
case 1974:
case 1990:
System.out.println("德国");
break;
case 1958:
case 1962:
case 1970:
case 1994:
case 2002:
System.out.println("巴西");
break;
case 1966:
System.out.println("英格兰");
break;
case 1978:
case 1986:
System.out.println("阿根廷");
break;
case 1998:
System.out.println("法国");
break;
default:
System.out.println("该年没有世界杯");
break;
} System.out.println("输入球队名字(例如巴西):");
String name = sc.next();
switch(name){
case "乌拉圭":
System.out.println("1930 1950");
break;
case "意大利":
System.out.println("1934 1938 1982 2006");
break;
case "德国":
System.out.println("1954 1974 1990");
break;
case "巴西":
System.out.println("1958 1962 1970 1994 2002");
break;
case "英格兰":
System.out.println("1966");
break;
case "阿根廷":
System.out.println("1978 1986");
break;
case "法国":
System.out.println("1998");
break;
default:
System.out.println("没有获得过冠军!");
break;
}
}

1)使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述 课程安排。

2) 增加了一位新老师Allen 教JDBC 3) Lucy 改为教CoreJava put方法

3) 遍历Map,输出所有的老师及老师教授的课程(Set

public static void main(String[] args) {
Map<String, String>map = new HashMap<>();
map.put("Tom", "CoreJava");
map.put("John", "Oracle");
map.put("Susan", "Oracle");
map.put("Jerry", "JDBC");
map.put("Jim", "Unix");
map.put("Lucy", "JSP");
map.put("Kevin", "JSP");
map.put("Allen", "JDBC"); map.remove("Lucy");
map.put("Lucy", "CoreJava"); Set<Map.Entry<String, String>> entryset =map.entrySet();
Iterator<Map.Entry<String, String>> iter = entryset.iterator();
while(iter.hasNext()){
Map.Entry<String, String> entry =iter.next();
System.out.print("老师名字:"+entry.getKey()+"\t");
System.out.println("课程名字:"+entry.getValue());
} Set s2 = map.keySet();// 将map的key赋给s2
// 利用迭代器遍历
Iterator it4 = s2.iterator();
while (it4.hasNext()) {
Object key = it4.next();
// map.get(value):表示map中的值
if (map.get(key).equals("JSP"))
System.out.print(key + " 教 " + map.get(key));
} }

写一个Student类, 包含属性id[1-30), grade[1-6], score[0-100], 所有属性都是随机生成 ,创建一个Set集合, 保存20个对象, 如果两个对象的id是一样的,则不允许添加. 使用迭代器遍历集合,打印输出对象的信息, 并找出分数最高的同学和分数最低的同学, 最后打印输出最高分和最低分同学信息.

public static void main(String[] args) {
Set<Student> set = new HashSet<Student>();
for (; set.size() != 20;) {
int id = (int)(Math.random() * 29 + 1);
int grade = (int)(Math.random() * 6 + 1);
double score = (int)(Math.random() * 1001) / 10.0;
set.add(new Student(id, grade, score));
}
for (Student student : set) {
System.out.println("学生:"+student.getId()+",分数:"+student.getScore()+",Grade:"+student.getGrade());
//System.out.println(student);
}
System.out.println("---------------------------");
Student maxScoreStudent = null;
Student minScoreStudent = null;
Iterator<Student> iterator = set.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
if (maxScoreStudent == null) {
maxScoreStudent = student;
minScoreStudent = student;
}
if (student.getScore() > maxScoreStudent.getScore()) {
maxScoreStudent = student;
}
if (student.getScore() < minScoreStudent.getScore()) {
minScoreStudent = student;
}
}
System.out.println(maxScoreStudent);
System.out.println(minScoreStudent);
}

Java——Math,Set,List,map相关练习的更多相关文章

  1. Java并发包——线程安全的Map相关类

    Java并发包——线程安全的Map相关类 摘要:本文主要学习了Java并发包下线程安全的Map相关的类. 部分内容来自以下博客: https://blog.csdn.net/bill_xiang_/a ...

  2. ELK系列(4) - Elasticsearch cannot write xcontent for unknown value of type class java.math.BigDecimal

    问题与分析 在使用Elasticsearch进行index数据时,发现报错如下: java.lang.IllegalArgumentException: cannot write xcontent f ...

  3. Java 集合系列 15 Map总结

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  4. java中将list、map对象写入文件

    链接地址:http://blog.sina.com.cn/s/blog_4a4f9fb50101p6jv.html     推荐:凤爪女瓜子男怪象该谁反思伦敦房价为什么持续暴涨 × wvqusrtg个 ...

  5. java.math.*;(一)

    package com.test; /* Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(Bi ...

  6. 数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String

    从数据库取出一个 Count函数 统计的值 在代码中要转成Integer类型的时候 Integer.parseInt((String)map.get("ID_")) 报了一下错误: ...

  7. MySQL分段统计SQL写法 与 Mybatis 异常 java.math.BigDecimal cannot be cast to java.lang.Integer

    mysql> select end) as '<60', end) as '60~69', end) as '70~79', end) as '80~89', end) as '>= ...

  8. Java报错:java.math.BigDecimal cannot be cast to java.lang.String

    从数据库取数字,转为string,报错: java.math.BigDecimal cannot be cast to java.lang.String 错误代码 Integer.parseInt(( ...

  9. Java同步数据结构之Map概述及ConcurrentSkipListMap原理

    引言 前面介绍了CopyOnWriteArraySet,本来接着是打算介绍ConcurrentSkipListSet,无耐ConcurrentSkipListSet的内部实现其实是依赖一个Concur ...

随机推荐

  1. web版文件管理系统 ——文件图标的获取

    需求来源:公司需要一个文件的管理系统,方便管理公司文档以及互相传阅以及一些权限控制的便利,其中极小的一块功能点就是现实文件列表里面的图标获取,从网上找图标太麻烦,而且不现实,不可能用户每次上传文件等你 ...

  2. Zookeeper笔记分享

    Zookeeper采用zap协议来保证数据的一致性 常见的数据一致性协议采用raft协议   参数解读: tickTime=2000:心跳包发送间隔时长 initLimit=10:leader与fol ...

  3. 使用 SOS 对 Linux 中运行的 .NET Core 进行问题诊断

    目录 说明 准备一个方便的学习环境 2.x 配置内容 3.x 配置内容 工具介绍 lldb sos plugin 1. attach 到进程上进行调试 2. 分析core dump文件 SOS 案例分 ...

  4. Hbase性能调优(一)

    转自:https://blog.csdn.net/yueyedeai/article/details/14648111 1.修改Linux配置 Linux系统最大可打开文件数一般默认的参数值是1024 ...

  5. vue中的一些用法,持续更新中......

    1.跳转用法 @1.在template模板中通常使用router-link to='url' @2.在js中 1.this.$router.push({path: ''/order/index''}) ...

  6. ES6+Webpack+Babel基本环境搭建

    ### 本文基本是流水文,记录学习中步骤,希望对看到的你有用,蟹蟹. 基本环境搭建 技术栈 Webpack ES6 Babel 开发环境 VS Code Node 搭建环境过程 新建项目文件夹

  7. 风炫安全web安全学习第三十一节课 命令执行以及代码执行演示

    风炫安全web安全学习第三十一节课 命令执行以及代码执行演示 参考: http://blog.evalshell.com/2020/12/20/风炫安全web安全学习第三十一节课-命令执行以及代/

  8. 关于c语言的知识点不足的地方

    在最近的一次c语言考试之前,自己根据老师说的会出原题的卷子的总结 关于代码的自动对齐,dev c++ CTRL+shift+A/a 关于运算顺序的csdn上有,常考的有/ %等 上地址 https:/ ...

  9. centos7 在虚拟机中装好后的网络连接问题

    1.首先设置网卡连接方式:点"设置",在弹出的界面中点"网络",最后选择"连接方式"为"桥接网卡" 2.用Vim编辑器打 ...

  10. 【LeetCode】365.水壶问题

    题目描述 解题思路 思路一:裴蜀定理-数学法 由题意,每次操作只会让桶里的水总量增加x或y,或者减少x或y,即会给水的总量带来x或y的变化量,转为数字描述即为:找到一对整数a,b使得下式成立: ax+ ...