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 ...
随机推荐
- hive集群模式安装
hadoop3.2.0 完全分布式安装 hive-3.1.1 #解压缩tar -zxvf /usr/local/soft/apache-hive-3.1.1-bin.tar.gz -C /usr/lo ...
- 回顾maven项目的spring boot相关知识点
2021新年快乐! 在参加完研究生考试后,感觉像是放下了一个大负担,但并不能就此以为什么都结束了.反而,当我今天去看了一下之前老师带领我们班级做的一个maven项目,感觉像是第一次看到这个,十分陌生. ...
- 2.2.2 Sqoop2 基本架构
主要组件 1.Sqoop Client 定义了用户使用Sqoop的方式,包括客户端命令行CLI和浏览器两种方式,浏览器允许用户直接通过Http方式完成Sqoop的管理和数据的导出 2.Sqoop Se ...
- JavaScript AMD模块化规范
浏览器环境 有了服务器端模块以后,很自然地,大家就想要客户端模块.而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行. 但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器 ...
- Linux下nginx反向代理负载均衡几种方式以及配置
下面以ip地址192.168.1.1 和192.168.1.2举例 1.轮询 (1).轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream ...
- 杭电OJ----1097:一个难题(c++)
问题描述 lcy给feng5166,lwg,JGShining和Ignatius带来了一个难题:给了a和b,如何知道a ^ b.每个人都反对这个BT问题,所以lcy使问题比开始容易. 这个难题描述了: ...
- SpringBoot入门及深入
一:SpringBoot简介 当前互联网后端开发中,JavaEE占据了主导地位.对JavaEE开发,首选框架是Spring框架.在传统的Spring开发中,需要使用大量的与业务无关的XML配置才能使S ...
- 算法实验5--N皇后
实验名称 回溯法解N皇后问题 实验目的 掌握回溯递归算法.迭代算法的设计与实现: 设计回溯算法求解: 分析算法的时间复杂度. 实验环境 操作系统:win 10; 编程语言:Java: 开发工具:IDE ...
- 【Linux】Linux进程间通信的几种方式
一.进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据:多个进程要操作共享数据,一个进程对共享数据 信息传递:一个进程需要向另一个进程发 ...
- Flask+pin
Flask+SSTI的新火花 记一次buu刷题记和回顾祥云杯被虐出屎的经历.题目:[GYCTF2020]FlaskApp 一 题目初见 朴实无华的页面,一个base64的小程序页面 看到有提示. 我就 ...