# Java第一次作业——Java语言基础

Java第一次作业——Java语言基础

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

首先创建一个Scanner对象s,构造函数的初始值为System.in,再利用s.nextInt()来接收一个int型数据ival的值,用s.nextLine()来接收String类型的name,然后分别输出。


public class InputFromConsole {  
    public static void main(String[] args) {  
        Scanner s = new Scanner(System.in);  
        String name = s.nextLine();  
                int ival = s.nextInt();  
        System.out.println(ival + "," + name);  
    }  
}

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

Random类区间内各数字生成的概率相等,在创建一个Random对象的时候可以给定任意一个合法的数,数只是随机算法的起源数字,和生成的随机数的区间没有任何关系。如下:  


Random rand =new Random(25);  
int i;  
i=rand.nextInt(100);  

初始化时25并没有起直接作用
Math类,四舍五入,向下取整,每个数字随机出现的概率不相等,不用初始化,直接用Math.方法名()使用

    Math.random()生成0~1的随机数

3.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。

(二)实验总结

完成实验内容过程中遇到的问题、解决方案以及程序的设计思路和思考等进行归纳总结。

程序设计思路:
用户按下开始按纽
得到一个随机数。

Random random = new Random();
random.nextInt();

用一变量s1保存。

然后等待用户输入其值。判断这个值是否等于你保存的值
如果猜对,退出。
if(s2==s1){
						System.out.println("正确");
						break;
					}

如果猜错,提示用户,可以输入1000退出

if(s2<s1){
					System.out.println("猜小了,输入1000退出");
					
				}
				if(s2>s1){
						System.out.println("猜大了,输入1000退出");{
				}

如果10次还没有猜对,程序结束,输出商品价格。

if(j==10){
					System.out.println("正确价格是: "+s1);
				}
输入1000退出
	Scanner sc=new Scanner(System.in);
				int sss=sc.nextInt();
				int ss=1000;
				while(sss==ss){
					System.exit(0);
				}
				}
			System.out.println(s1);

问题1:格式转换出现错误
原因:project和int类型定义不对

程序设计思路:
输出表头

    System.out.println("===========================");
	System.out.println("日  一  二  三  四  五  六");

判断每个月有多少天

switch(month){
	case 1: case 3: case 5: case 7: case 8: case 10: case 12: 
		day = 31; 
		monthday = monthday + 31;
		break;
	case 4: case 6: case 9: case 11:
		day=30;
		monthday = monthday + 30;
		break;
	case 2:
	if((day % 4 == 0 && day % 100 != 0) || (day % 400 == 0)){
			day=29;
			monthday = monthday+29;
		}else{
			day=28;
			monthday = monthday+28;
			}
		break;
	}

判断每年有多少天

	int sum=0;		
for(int i = 1900; i < year; i++){
	int totalDays=0;	
if((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)){

totalDays = totalDays + 366;
}else{
totalDays = totalDays + 365;
		}
sum=totalDays;

一周七天,用天数%7, 判断星期几

if (weekday != 7) {
		for ( j = 0; j <  week; j++) {
		System.out.print("\t");
		}
		}
		for (int k = 1; k <= day; k++) {
		
		if (weekday == 6) {
		System.out.print(k + "\n");
		} else {
		System.out.print(k + "\t");
		}
	
}

问题1:不能输出正确格式,不能正确输出天数,不能从1900年开始定义
原因:循环出现错误
解决方案:

代码链接
)

代码行数(新增/累积) 学习时间(新增/累积) 本周学习内容
目标 4000行 300小时
第2-4周 300/300 20/20 scanner和random等的基本用法
第5周
第6周
posted @ 2017-03-18 18:21  柠檬冬冬  阅读(213)  评论(1编辑  收藏  举报