java实验作业

(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?

Scanner类是一个简单的文本扫描器可以分析基本类型和字符串使用正则表达式,本才实验中用的最多的就是scanner类。

import java.util.Scanner;
public class test {
public static void main(String []args){
Scanner in=new Scanner (System.in);
System.out.println("请输入你的选项");

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

math类:提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
random:提供的随机方法是随机设定的。
3.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。
正式写java实验遇到的最多困难还是java语法上的问题,需要多看书多提问了解所需相关知识。多看老师提供的资料。

(二)实验总结

程序设计思路:猜价格实验
问题1:循环猜测,猜测错误后再次猜测设置机会
原因:循环错误
解决方案:
for(i=0;i<6;i++)
{
System.out.println("请输入答案:");
int answer = in.nextInt();
{if(answer==result)
System.out.println("恭喜您猜测正确!!!");

     else if(answer>=result){
    		System.out.println("对不起,价钱猜高了");
    	}
     else if(answer<=result){
    			System.out.println("对不起,价钱猜低了");
			}

利用for循环,循环重复结构
问题2:计算分数错误
错误原因:利用for循环方法不对
结局方案:利用case结构
private static int Score(int time) {
int score = 0;
switch(time){
case 1:{
score=100;
System.out.println("得分为:"+score);
return score;

}
case 2:{
	score=80;
	System.out.println("得分为:"+score);
	return score;
}
case 3:{
	score=60;
	System.out.println("得分为:"+score);
	return score;
}
case 4:{
	score=40;
	System.out.println("得分为:"+score);
	return score;
}
case 5:{
	score=20;
	System.out.println("得分为:"+score);
	return score;
}
default :{
	score=0;
	System.out.println("得分为:"+score);
	return score;
}
}
}

2.万年历实验
设计思路:计算平年,闰年,定义好条件 然后输入年份进行查找,还有月份问题,天数,以及平年闰年2月天数不同问题,进行精确查找
问题1:平年闰年精确计算问题
结局方案:
int year=in.nextInt();
int n=0;

	int i;
	int sum1 = 0;
	for(i=1900;i<year;i++){
		if((i%4==0&&i%100!=0)||i%400==0){
			n=366;
		}
		else{
			n=365;
		}
		sum1=n+sum1;
	}

定义条件 进行精确计算查找
问题二:万年历表输出问题
解决方案: public static void Print(int year,int month,int week){
System.out.println(" 星期一 "+"\t星期二 "+"\t星期三 "+"\t星期四 "+"\t星期五 "+"\t星期六 "+"\t星期日 ");
int m=0;
int n=1;
for(int i=1;i<=7;i++){
if(i<week){
System.out.print("\t");
}
}
if((year%40&&year%100!=0)||year%4000){
if(month==2){
m=29;
}

	  else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
		  m=31;

	  }
	  
              else if(month==4||month==6||month==9||month==11){
	      m=30;

	  }

  }

星期月份年份输出利用循环查找星期天数
(三)代码托管

(四)学习进度条
填写本周学习进度条。为自己设定本学期的目标,包括预计完成的代码行数,预计花多少时间在Java课程的学习上。记录自己每周完成的情况,填写下列的进度条,务必实事求是。
代码行数(新增/累积) 学习时间 本周学习内容
目标 4000 400
第2-4周
31..0 30 学习了java,scanner类基本输入,random,math类区别等
第5周
第6周

posted @ 2017-03-19 16:41  一头气质熊  阅读(235)  评论(1编辑  收藏  举报