声明一个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. 容器编排系统K8s之访问控制--准入控制

    前文我们聊到了k8s的访问控制第二关RBAC授权插件的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14216634.html:今天我们来聊一下k8 ...

  2. python数据基本运算处理===循环

    一.循环语句 1.while while的循环条件为True,即每次正常循环完毕都会返回判断一次条件 只有读到break才能立刻彻底结束循环,break只能结束本层循环 continue也能立即结束本 ...

  3. hive2

    4.hive优化 1)跑sql的时候会出现的参数: In order to change the average load for a reducer (in bytes): set hive.exe ...

  4. Ubuntu无法ssh远程连接问题 (转)

    [系统]Ubuntu 12.04 server [问题描述]新安装的Ubuntu系统无法直接通过ssh远程连接. [解决办法] 新安装的Ubuntu系统并未安装ssh-server服务,需要自行安装, ...

  5. [Java基础]——String类

    此篇博客主要整理Java中的String类的使用. 一.String    1.1  String 的定义 上图是jdk中对String类的定义,得到的信息有: ①.String类声明为final的, ...

  6. Mac安装Go语言

    正文 安装 安装我们使用 HomeBrew ,其使用方法详见我的上一篇博文 brew install go 配置环境变量 Go1.3及以后版本跳过以下步骤 进入变量文件 cd ~ vim .bash_ ...

  7. 用 Flutter 搭建标签+导航框架

    前言 在 Flutter 这个分类的第一篇文章总结了下最新的 Mac 搭建 Flutter 开发环境和对声明式UI这个理解的东西,前面也有提过,准备像在 SwiftUI 分类中那样花一些功夫来写一个 ...

  8. Hystrix-服务降级-服务熔断-服务限流

    Hystrix简介 Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致 ...

  9. 关联实现下-jsonpath取值(有难度!!耗时长)

    re的使用参考:正则表达式基础及re模块:https://www.cnblogs.com/dream66/p/12953729.html import restr1 = '{"access_ ...

  10. InheritableThreadlocal使用问题排查

    背景 在做一个微服务系统的时候,我们的参数一般都是接在通过方法定义来进行传递的,类似这样 public void xxx(Param p, ...){ // do something } 然后这时有个 ...