《Java技术》第一次作业

(一)、学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
文本扫描类Scanner(java.util.Scanner),可以使用不同的next方法将输入的文本转换为不同类型的值。
获取基本类型数据的方法是:
nextInt():读取整型数据
nextDouble():读取双精度性数据
next():读取输入的下一个单词(空格作为分隔符)
nextLine():读取输入的下一行内容

import java.util.Scanner;
public class Test{public static void main(String[]args){Scanner input=new Scanner(System.in);...}
}

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。

util的random是一个类:包含nextInt(),nextDouble ()等类似的方法。math的random只是一个方法:返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

例如,对比两种方法产生的随机数:

import java.util.Random;
public class Demo{public static void main(String args[]){Random a=new Random();int a1=a.nextInt();double b=Math.random(); System.out.println("这是调用Random()类产生的随机数");System.out.println(a1);System.out.println("这是调用Math.random()方法产生的随机数");System.out.println(b);}
}

1032114-20180318003421666-374777090.png

使用Math.Random()的方法来产生Int类型的随机数,例如产生一个0~100之间的随机数:

import java.util.Random;
public class Test{public static void main(String args[]){Random a=new Random();int b=a.nextInt();int c=(int)(Math.random()*100); System.out.println("这是调用Random()类产生的随机数");System.out.println(b);System.out.println("这是调用Math.random()方法产生的随机数");System.out.println(c);}
}

1032114-20180318003613641-284580107.png

两种方法都能够起到相同的作用,但是,如果许多线程需要以极高的速率生成伪随机数,那么Math.random()可能会减少每个线程对拥有自己伪随机数生成器的争用。所以很多应用程序会发现 Math.random() 方法更易于使用。

3.运行下列程序,结果是什么?查阅资料,分析为什么。

public class Test {public static void main(String args[]) { double a = 0.1;double b = 0.1;double c = 0.1;if((a + b + c) == 0.3){System.out.println("等于0.3");}else {System.out.println("不等于0.3");}}     
}

该程序运行结果为:不等于0.3

原因:浮点型数据在进行运算时有极小误差。

为了处理精度损失的问题,可以使用java.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。

import java.math.BigDecimal;
import java.math.MathContext;
public class Test {public static void main(String args[]) { BigDecimal a = new BigDecimal(0.1);BigDecimal b = new BigDecimal(0.1);BigDecimal c = new BigDecimal(0.1);if(a.add(b).add(c).round(new MathContext(1)).equals(new BigDecimal("0.3"))){System.out.println("等于0.3");}else {System.out.println("不等于0.3");}}}

以上程序输出结果为:等于0.3

4.在环境配置中,PATH和CLASSPATH、JAVA_HOME的作用:
- 1). PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
- 2). CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
- 3). JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

(二)、实验总结

  • 实验内容:
    • 1.看商品猜价格及题目扩展
      - 设计思路
      - 首先利用随机数得到商品的价格,利用循环控制用户猜价格的次数,定义一个变量保存用户每次猜价格的得分,再定义一个新的变量保存用户多次猜价格累计的分数,在一轮猜价格的最后输出商品的价格,游戏结束时输出用户的总得分和猜价格的次数。
      - 注意
      - 因为用户输入是否继续游戏指令时是使用字符串类型定义的,所以在比较商品价格大小的时候不能用==,要是用String类的equals方法。str.equals(str1 );
      • 2.万年历
        • 设计思路
          • 1)编写一个方法判断闰年。
          • 2)根据某年是闰年还是平年编写一个方法判断某年某月有多少天。
          • 3)编写一个方法计算某年某月之前距离1900年1月有多少天。因为每个月的天数都会不一样,所以要分别判断某月的天数后再计算距离1900年1月的总天数。
          • 4)编写一个方法输出某年某月的日历。已知一个判断星期几的方法:1+totaldays%7的值为1-7时分别为星期一到星期日。
        • 问题
          • 1)输出日历判断是否换行时,要利用距离1900年1月和7的关系。即 1+totaldays%7=?。值为7时换行。
      • 3.评分系统
        • 设计思路
          • 1)用一个二维数组存放每个评委给每个选手的得分。
          • 2)分别用一维数组表示每个选手的最高分,最低分,和去掉一个最高分一个最低分的平均分。
          • 3)使用冒泡 排序法对二维数组的行从高到低排序,得到每一行的最大值最小值分别存放在表示最高分和最低分的一维数组中。
          • 4)利用循环分别计算每个选手的最终得分,存放在平均分数组中。
          • 5)按照从高到低的顺序分别输出每个选手的得分和每个选手的平均分。
        • 问题
          • 1)使用冒泡排序法对二维数组排序是要注意数组越界的问题。
          • 2)利用三层循环对二维数组排序,第一层循环改变行,把二维数组的每一行当做一个一维数组在第二层和第三层循环中使用冒泡排序法对二维数组的每一行排序。
            (三)、代码托管
    • 码云提交历史截图
      1032114-20180317235726901-2086941712.png

转载于:https://www.cnblogs.com/xxs812/p/8593965.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机主机开机为什么显示器不开,电脑开机后显示器不亮怎么办?电脑开机后显示器没反应的解决办法...

电脑开机后显示器不亮怎么办?电脑开机故障屡见不鲜,最近又有用户反馈开机问题了,一用户反馈说,电脑主机是可以正常开机的,但就是显示器不亮,这是怎么回事呢?出现这种情况可能是显示器或主机故障…

斯坦福-随机图模型-week4.0_

title: 斯坦福-随机图模型-week4.0 tags: note notebook: 6- 英文课程-9-Probabilistic Graphical Models 1: Representation --- 斯坦福-随机图模型-week4.0 最大期望收入模型 简答的决策 我们使用随机图模型进行决策需要的原料是什么ne ? 我们需要决策的情景一些列的可能的行…

计算机行业哪个会议论文最好,《第三次全国电子计算机专业学术会议论文选集》...

1964年12月,国防工业出版社出版了《第三次全国电子计算机专业学术会议论文选集》(以下简称《选集》),由中国电子学会计算机专业委员会编辑,《选集》内容覆盖之广令人震惊。《选集》的内容表达了1961年以来国内计算技术在理论与实际方面的工作…

展开符和解构赋值

一、展开符展开符(剩余操作符):...1.展开符号use strict; let arr_one [1,3]; let arr_two [4,5,...arr_one]; console.log(arr_one);//[ 1, 3 ] console.log(...arr_one);//1 3 console.log(arr_two);//[ 4, 5, 1, 3 ]2.剩余操作符(类似arguments&…

2.1 linux C 进程与多线程入门--(1)进程和程序的区别

进程和程序的区别: j进程是活动的程序&#xff0c;而程序是一个代码的集合。进程是加载到内存中的程序&#xff0c;而程序没有加载到内存中&#xff0c;只是在磁盘上存储着。 1234567891011121314151617181920212223242526272829303132#include<sys/types.h>#include<…

计算机一级表格样式在哪儿,word表格样式在哪 word表格样式在哪里

word2007中设置好正文样式怎样设置表格样式1. 打开word(以2007为例)【开始】--> 【样式】&#xff0c;打开样式右下角的小箭头&#xff0c;或者alt shift ctrl S&#xff0c;打开全部式样 2. 在全部式样里&#xff0c;选择你要改的类型&#xff0c;点击该类型右边的下拉箭…

计算机辅助设计b实验目的,上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析...

上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析实验三&#xff1a;含有受控源电路辅助分析一、实验目的1. 用回路电流法和节点电压法求解电路中的电流和电压。 2. 掌握线性电路参数的测量的方法。3. 了解四种受控源元件(电流控制的电压源、电流控制的电流源、电压控…

计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?

计算机首先你必须是系统软件和应用软件的相互的结合&#xff0c;才能更好的开发出你电脑的应用平台&#xff0c;那么其实没有了软件系统&#xff0c;光有这些硬件&#xff0c;他能不能工作&#xff0c;其实是不能工作的电脑也就是废物一台。那么软件这些&#xff0c;就是合理的…

计算机修复画笔结果分析,Photoshop

Photoshop基础:使用修复画笔工具修复画笔工具和修补工具&#xff0c;其实都是基于我们前面所说的图章工具的派生工具&#xff0c;并弥补了图章工具的一些不足。那么图章工具有什么不足之处呢&#xff1f;通过前面的学习我们知道了图章工具对图案的复制是原样照搬的&#xff0c;…

服务器的虚拟化配置,怎么配置服务器的虚拟化环境

服务器虚拟化是科技发展的产物&#xff0c;使得在一台服务器上同时执行多个操作系统、提供服务成为可能&#xff0c;优化了企业内部资源&#xff0c;节省成本。服务器虚拟化是IT基础架构得以资源共享的做法&#xff0c;也是未来机房的重要元素之一&#xff0c;那我们怎么配置这…

qq游戏坦大战服务器维护中,高手教你如何解决QQ游戏问题

许多玩QQ游戏的朋友&#xff0c;可能会发现忽然有一天自己的QQ游戏进不去了&#xff0c;无法打开QQ游戏了&#xff0c;就算重装游戏也不行&#xff0c;出现“加载DLL失败”的提示。现将各种情况的DLL文件加载失败解决办法收集起来&#xff0c;希望能对大家有所帮助。1.加载cnsm…

华硕笔记本没有无线服务器,华硕笔记本连不上无线网络怎么解决

可能还有些网友不太清楚关于华硕笔记本连不上无线网络的问题&#xff0c;下面就由学习啦小编给你们介绍华硕笔记本连不上无线网络的解决方法吧&#xff0c;希望能帮到大家哦!华硕笔记本连不上无线网络的解决方法一&#xff1a;1、首先我们来检测是否是无线路由器的问题。为了确…

Maven知识点整理

Maven不仅是依赖管理工具&#xff0c;准确来说是一个项目管理工具&#xff0c;贯穿了整个项目生命周期&#xff0c;编译&#xff0c;测试&#xff0c;打包&#xff0c;发布...依赖是使用Maven坐标来定位的&#xff0c;而Maven坐标 主要 由GAV&#xff08;groupId, artifactId, …

企业案例(二):增量恢复案例

1、环境准备 条件: 1.具备全量备份&#xff08;mysqldump&#xff09;。 2.除全量备份以外&#xff0c;还有全量备份之后产生的的所有binlog增量日志。 1.1、建立数据库和表 CREATE DATABASE dadong; USE dadong; CREATE TABLE test (id int(4) NOT NULL AUTO_INCREMENT,name c…

gdc服务器维修公司,gdc服务器阵列架坏了

gdc服务器阵列架坏了 内容精选换一换本章节指导用户批量创建4块云硬盘&#xff0c;并挂载至云服务器。进入云硬盘页面。关于创建云硬盘的详细操作&#xff0c;请参见“云硬盘用户指南”。本示例为批量创建4块云硬盘&#xff0c;具体参数如图1所示。云硬盘规格支持任意用户(root…

手机文件传云服务器,手机云服务器传文件

手机云服务器传文件 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。如果私钥文件丢失了&#xff0c;可以为服务器替换新的密钥对&a…

Experimental-work1

软件测试第一次实验报告 3015207191 软件工程3班 林家乐 一、安装Junit&#xff0c;Hamcrest和Eclemma: 1.安装Junit 下载junit.jar&#xff0c;在项目里添加junit.jar并build一下即可。使用时&#xff0c;在项目内包含Junit4的库&#xff0c;其中包含junit.jar即…

c 开发服务器的性能,高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了...

1、前言在本系列文章的上篇中我们回顾了过云的10年里&#xff0c;高性能网络编程领域著名的C10K问题及其成功的解决方案(上篇请见&#xff1a;《高性能网络编程(二)&#xff1a;上一个10年&#xff0c;著名的C10K并发连接问题》)。本文将讨论单机服务器实现C10M(即单机千万并发…

无盘服务器磁盘缓存,云更新无盘服务器磁盘缓存器

云更新无盘服务器磁盘缓存器 内容精选换一换Linux操作系统下&#xff0c;用户由于误操作卸载弹性云服务器上的Tools&#xff0c;会对非PVOPS系统的磁盘和网卡产生影响&#xff0c;导致系统无法发现数据盘。此时&#xff0c;用户可通过新建一个弹性云服务器&#xff0c;将原数据…

云财经服务器维护,云财经服务器维护

云财经服务器维护 内容精选换一换云耀云服务器适用于对CPU、内存、硬盘空间和带宽无特殊要求&#xff0c;服务一般只需要部署在一台或少量的服务器上&#xff0c;一次投入成本少&#xff0c;后期维护成本低的场景。例如网站开发&#xff0c;Web应用。推荐使用云耀云服务器&…