一学习总结
1.scanner类的基本实现基本输入的方法:首先需要导入Scanner所在的包,java.util.Scanner。
可以使用不同的next方法将输入的文本转换成不同类型的值,如:nextInt,nextBoolean。
还要构造scanner对象,并与system.in关联,如:Scanner input=new Scanner(System.in);
调用scanner的各种方法完成输入操作,如:int num=input.nextInt();
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
String gchar= new String();
Scanner input = new Scanner(System.in);
System.out.println("nextLine方式接收:");
gchar=input.nextLine();
System.out.println(gchar);
}
}
- Random类
实现的随机算法是伪随机,也就是有规则的随机,
它的随机方法是设定随机种子的。
Math类 此方法就是调用的Random类的nextDouble()方法。
math的random只能获得一个随机数
Math类的random方法使用比较方便,不需要导包、创建对象。
```
public class RandomNum{
public static void main(String[] args){
Random r1 = new Random(100);//第一个Random对象r1,随机种子100
Random r2 = new Random(100);//第二个Random对象r2,随机种子100
System.out.println("r1产生的值:"+r1.nextInt());
System.out.println("r2产生的值:"+r2.nextInt());
System.out.println("Math.random产生的值:"+(int)(Math.random()*100));
}
}
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.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。
二、实验总结
1.看商品猜价格
程序设计思路:
1.产生一个随机数的函数,给出价格
2.输入成绩
3.使其与产生的随机数比较(最多10次)
4.在十次内两数相等,则输出价格和输入次数,否则直接输出价格
2.万年历
程序设计思路:
1.判断是否是闰年
2.写出每月天数
3.计算出要输入的年月与1990年1月1日相距多少天
4.输出要输出的月份日历
3.评分系统
程序设计思路:
1.输入十位评委分别为五位选手的评分
2.写出求每位选手的得分的最大值 最小值 和 平均数的方法
3.为最终的得分按降序排序
问题:排序方法
解决:可直接用升序排序的方法,然后倒着输出。
三、代码托管