(一)学习总结 1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。 要引入包import java.util.Scanner;,使用不同的 next 方法将得到的标记转换为不同类型的值。 程序执行到这些next 方法时都会造成堵塞,等待用户在命令行输入数据回车确认
import java.util.Scanner;
public class Cdd {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个数:");
int a=input.nextInt();
System.out.println("输入的数为:"+a);}
}
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。 random()方法是java.lang.Math的方法,作用是返回大于等于 0.0 且小于 1.0的 double 值, Random类是一个类(java.util.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");
}
}
}
为了处理精度损失的问题,可以使用java.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。 改进后
import org.omg.CORBA.PUBLIC_MEMBER;
public class Cdd {
public static void main(String args[]) {
double a = 0.1;
double b = 0.1;
double c = 0.1;
if(add( a, b, c ) == 0.3){
System.out.println("等于0.3");
}else {
System.out.println("不等于0.3");
}
}
public static double add( double d1, double d2, double d3 ) {
BigDecimal b1 = new BigDecimal( Double.toString(d1) );
BigDecimal b2 = new BigDecimal( Double.toString(d2) );
BigDecimal b3 = new BigDecimal( Double.toString(d3) );
return b1.add( b2 ).add( b3 ).doubleValue();
}
}
4.java中许多和C类似的地方,但是java中对数据对方法的使用要比C更灵活更方便。
(二)实验总结 1.看商品猜价格 程序设计思路:通过赋给一个int型变量随机数作为商品价格,利用循环语句来对商品价格进行多次猜测,利用break语句跳出循环; 2.万年历 程序设计思路:判断闰年,判断输入年份与1900年差多少天,闰年2月是29天,而平年是28天,利用天数%7+1,可以判断出当前月份的1号是周几,接着就可以打印出当前年份当前月份的日历; 3.评分系统 程序设计思路:创建一个二维数组保存选手的分数,利用二重循环与随机数来给选手打分,求出各个选手分数的最大值与最小值,将其赋值为0,求平均分时除8即是选手平均分,接着顺序输出即可;
(三)代码托管 码云提交历史截图