码迷,mamicode.com
首页 > 编程语言 > 详细

Java第一次作业

时间:2018-03-18 18:45:12      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:数据   取整   扫描   实例化   直接   input   对象   不能   行修改   

(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明.

文本扫描类Scanner(Java.util.Scanner),可以使用不同的next方法输入的文本转换为不同类型的值.获取基本类型数据的方法是:

nextlnt():读取整型数据.
nextDouble():读取双精度数据.
next():读取输入的下一个单词(空格为分隔符)
nextLine():读取输入的下一行内容
构造Scanner对象,并与System.in关联
Scanner input=next Scanner(System.in);
调用Scanner的各种方法完成输入操作
Int num=input.nextInt();
例:

技术分享图片
技术分享图片

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

一.Random类生成随机数
语法 Random ran=new Random();
ran:Random类的实例对象。可以在实例化对象时,java编译器以系统当时作为随机数产生器的种子,因为每时每刻时间不同产生的随机数也不同.
二.Math类的random()方法
Math类的random()方法可以生成大于0.0、小于1.1的double型随机数,它可以获得多种类型、或任意范围的随机数.

public static void main(String[] args) {
int x=(int)(Math.random()*100);
Random rand=new Random();
int y=rand.nextInt(3);
System.out.println(a);
System.out.println(b);
}

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

结果为不等于0.3
技术分享图片

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

知识点:对于不需要任何准确计算精度的数字可以直接用float或double,但是如果需要精确的计算结果,则必须使用BigDecimal类.
错误原因:在加减的过程中,产生了浮点型误差,不能用==表示浮点类型数据的运算结果。
改正方法:
技术分享图片
技术分享图片

使用round方法确定精度范围,需要用到MathContext。

4.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。
学习Java需要有扎实的c语言功底,对于c语言学的不怎么好的我来说,得好好努力了。
写程序要有清晰的是路,把思路理清楚再写。

二)实验总结

1.猜商品价格

(1)随机生成价格
(2)输入所猜的价格
(3)用一个循环 1.机会有10次,如果机会用完就输出价格
2.比真实价格低:输出猜低了;比真实价格高:输出猜高了;如果猜对了,则输出真实价格。

3.互评成绩
1.设计求数组最值函数
2.在求平均值函数中,调用求最值函数,将每个元素求和,最后减去最值求平均
3.调用sort函数排序,输出成绩
注意:输出制表符时,应该用双引号

Java第一次作业

标签:数据   取整   扫描   实例化   直接   input   对象   不能   行修改   

原文地址:https://www.cnblogs.com/-lyf/p/8595794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!