Java——Math,Set,List,map相关练习
声明一个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相关练习的更多相关文章
- Java并发包——线程安全的Map相关类
Java并发包——线程安全的Map相关类 摘要:本文主要学习了Java并发包下线程安全的Map相关的类. 部分内容来自以下博客: https://blog.csdn.net/bill_xiang_/a ...
- ELK系列(4) - Elasticsearch cannot write xcontent for unknown value of type class java.math.BigDecimal
问题与分析 在使用Elasticsearch进行index数据时,发现报错如下: java.lang.IllegalArgumentException: cannot write xcontent f ...
- Java 集合系列 15 Map总结
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- java中将list、map对象写入文件
链接地址:http://blog.sina.com.cn/s/blog_4a4f9fb50101p6jv.html 推荐:凤爪女瓜子男怪象该谁反思伦敦房价为什么持续暴涨 × wvqusrtg个 ...
- java.math.*;(一)
package com.test; /* Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(Bi ...
- 数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String
从数据库取出一个 Count函数 统计的值 在代码中要转成Integer类型的时候 Integer.parseInt((String)map.get("ID_")) 报了一下错误: ...
- 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 '>= ...
- Java报错:java.math.BigDecimal cannot be cast to java.lang.String
从数据库取数字,转为string,报错: java.math.BigDecimal cannot be cast to java.lang.String 错误代码 Integer.parseInt(( ...
- Java同步数据结构之Map概述及ConcurrentSkipListMap原理
引言 前面介绍了CopyOnWriteArraySet,本来接着是打算介绍ConcurrentSkipListSet,无耐ConcurrentSkipListSet的内部实现其实是依赖一个Concur ...
随机推荐
- MySQL索引优化,explain详细讲解
前言:这篇文章主要讲 explain 如何使用,还有 explain 各种参数概念,之后会讲优化 一.Explain 用法 模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理 ...
- ACID隔离性
数据库ACID 一致性 原子性 隔离性 持久性 隔离性: 1.读未提交 2.读已提交 3.可重复读 4.串行 读未提交:容易引起脏读 读已提交:容易引起幻读(前后读到的行数不一致) 场景: A事务 ...
- 探索 .NET团队对API的设计流程
在这篇文章中,我想介绍一些我觉得非常有趣的东西,.NET 团队是如何设计API的? 我们先来看下.NET团队面临的有哪些挑战,您正在设计一套API库,每天有数百万的开发人员在使用这些库,它们在世界各地 ...
- Java 并发编程要点
使用线程 有三种使用线程的方法: 实现 Runnable 接口: 实现 Callable 接口: 继承 Thread 类. 实现 Runnable 和 Callable 接口的类只能当做一个可以在线程 ...
- 为什么.NET Standard 仍然有意义?
.NET Standard 是.NET 官方的API规范,可在许多.NET环境中使用.之所以存在,面向.NET Standard 2.0的库提供了最大可能的覆盖范围,并启用了几乎所有现代的.NET功能 ...
- PAT天梯赛练习 L3-003 社交集群 (30分) DFS搜索
题目分析: 一共有N个编号为1~1000的人,以及一共有编号为1~1000种不同的兴趣,在题目给出1~N编号的人员每个人喜欢的兴趣的id后,要求统计出不同的人员集合的个数以及每个人员几个的人数从大到小 ...
- Centos7 Nginx+PHP7 配置
Centos7 Nginx+PHP7 配置 内容: 源码编译安装Nginx和PHP 配置PHP和Nginx,实现Nginx转发到PHP处理 测试 设置Nginx.PHP开机自启 安装的版本: Ngin ...
- java进阶(31)--TreeSet集合、TreeMap集合、自平衡二叉树
一.TreeSet集合简单 1.TreeSet集合底层是一个TreeMap 2.TreeMap集合底层是一个二叉树 3.放到TreeSet集合的元素等同于放到TreeMap集合的Key部分 4.Tre ...
- Burp suite的系列介绍 (1)
前言 为了进行Web安全方面的学习,Burp suite是必备的工具之一,我们将会从多个模块进行逐步的学习. Burp suite的应用场景 1.HTTP服务端接口测试. 2.HTTP客户端和HTTP ...
- 【Linux】Linux介绍和安装 - 测试题
第一部分测试题 Linux介绍和安装 测试题 做点练习题,巩固一下咯~ ~ _ 10 个选择题. 1.让我们选择开机时进哪个操作系统的软件叫什么? A. booter B. bootloader C. ...