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 ...
随机推荐
- 2020DevOps状态报告
这是Puppet报告的走过的第九个年头,本次报告基于对2400名IT.开发.信息安全行业的技术人员的调研,着重勾画了DevOps状态的两大趋势:平台模型.需求变更的管理.多年来,我们已经证明了DevO ...
- logback日志对象要素
<logger>节点 分两种 1.是普通日志对象 logger分为2种,一种是普通日志对象,另一种是根日志对象.对于大部分应用来说,只设置根日志对象即可. 在java日志系统中,无论是lo ...
- 第二章节 BJROBOT IMU 自动校正 【ROS全开源阿克曼转向智能网联无人驾驶车】
1.把小车平放在地板上,用资料里的虚拟机,打开一个终端 ssh 过去主控端启动roslaunch znjrobot bringup.launch . 2.再打开一个终端,ssh 过去主控端,在 ~/c ...
- 使用SharePoint App-Only获得访问权限
目前在开发SharePoint Online的过程中,主要使用通过Azure AD的方式获得应用的访问权限,但是SharePoint App-Only的方式依旧被保留了.使用这种方式进行CSOM开发比 ...
- Java的nanoTime()方法
java有两个获取和时间相关的秒数方法,一个是广泛使用的 System.currentTimeMillis() 返回的是从一个长整型结果,表示毫秒. 另一个是 System.nanoTime() 返回 ...
- Laya 踩坑日记-BitmapFont 字体模糊
基于bitmap 制作的字体,放到项目中,因为最终使用的是位图字体(所有的字全是一张图片),所以一旦出现压缩./放大等情况的时候, 字体就开始模糊了,暂时没有他好的办法解决
- Jmeter(三十五) - 从入门到精通进阶篇 - 关联(详解教程)
1.简介 上一篇中介绍了如果想要同时发送多条请求,那么怎样才能让每条数据某些请求参数改变呢.这就用到了jMeter参数化.在实际测试场景中,我们往往还有这样的需求,登录后服务器响应的token作为下次 ...
- 深入剖析setState同步异步机制
关于 setState setState 的更新是同步还是异步,一直是人们津津乐道的话题.不过,实际上如果我们需要用到更新后的状态值,并不需要强依赖其同步/异步更新机制.在类组件中,我们可以通过thi ...
- 基于Docker搭建Hadoop+Hive
为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...
- 软碟通制作win10镜像,无法打开install.wim的问题
打开软碟通,单击左上角"文件"→"打开",选择.iso文件的存放目录,再选择.iso映像文件打开,即可看到映像文件全部加载到UltraISO了,如下图. 将 ...