一、<学习总结>
1.Scanner类实现基本数据输入
在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
代码如下
Scanner in = new Scanner(System.in);
int i = in.nextInt();
输入的数据保存在变量in中,Scanner对于输入的数据类型没有限制,但如果想要对这些数据进行输出就要对以储存的数据进行转换后才能输出。
import java.util.Scanner
public class Test{
public static void main(String args[])
Scanner in=new Scanner(System .in);
int i=in.nextInt();
System.out.println("转换前");
System.out.println("in");
System.out.println("转换后");
System.out.println("i");
}
}
2.Random类和Math类的random()方法
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);
}
}
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,因为有误差
改正代码:
package javaTest;
import java.math.BigDecimal;
import java.math.MathContext;
public class S1 {
public static void main(String args[]) {
double a = 0.1;
double b = 0.1;
double c = 0.1;
if((a + b + c) -0.3>0){
System.out.println("等于0.3");
}else {
System.out.println("不等于0.3");
}
}
}
4总结
Java和c在逻辑有着很多共同点,只是在语法方面有所不同,但Java比c增加了更多的功能,可以利用C更好的学习Java
二、实验总结
1.猜价格
程序设计思路:
产生一个随机数,采用两个for循环重复输入,使用if判断,如果相等,使用break跳出循环,输出才对次数;如果不相等,输出正确价格。
实验问题分析:
问题:定义的变量有问题
原因:不能重复定义变量类型
修改:定义一次就可以了
2.万年历
程序设计思路:
判断用户输入的年份是否是闰年,计算出距1990年有多少年并通过用户输入的月份计算出距1990年1月1日有多少天,可以得到日期对应的星期,之后计算月初对应的星期以及月份对应的天数并一一对应输出。
实验问题分析:
问题:在对查询月份月初前边应该空出几格时出现疑问
原因:不知道如何空出合适的格数以及如何时把第一行的每一天对应的位置进行分配
解决方案:对第一行创建与其他行不同的排序方式,且通过月初是星期几来判断前边应该空出几格
3.互评成绩
程序设计思路:设计求数组最值函数在求平均值函数中,调用求最值函数,将每个元素求和,然后进行排序,最后减去最值求平均
问题:输出的结果是一趟数字
原因:输出结果加空格