#《Java技术》第一次作业

(一)学习总结

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

import java.util.Scanner;
        Scanner in=new Scanner(System.in);
        int x=in.nextInt();

2.Math.random() 方法生成[0, 1)范围内的double类型随机数;

Random random = new Random();
int r = (int)(Math.random() * n);

Random类中的nextXxxx系列方法生成0-n的随机数;

Random random = new Random();
int r = random.nextInt(n);

3.学会了Random的使用方法import java.util.Random;

import java.util.Random;
        Random rand=new Random();
        int a=rand.nextInt(100);

还学会了boolean类型的使用

boolean flag=true;

但是在函数这一部分还有很多欠缺,不会调用函数,不会写函数,不过我会多练习,把这一部分补回来。

(二)实验总结

1.猜数游戏

  • 程序设计思路:使随机产生一个数据,然后让用户输入自己的数据,最多能够输入五次,与随机产生的数据相比较,若大于随机数,则输出猜大了并输出还剩几次机会,若小于随机数则输出猜小了并输出还剩几次机会,若猜对了则输出猜对并输出成绩,若五次都没有猜对则输出成绩为0,再由用户选择是否继续游戏,继续输入Y,退出输入N。
  • 实验问题分析:
  • 问题1:在写用户选择继续还是退出的语句的时候,不知道应该用什么能够继续游戏。

    原因:想到用while,但不知道应该怎么能够表示为真。

    解决方案:经过从网上查了一些资料,以及问同学,可以用boolean类型来表示真假。
    2.万年历

  • 程序设计思路:计算从1900年到输入年的总天数,用循环计算平年和闰年,平年加365,闰年加366,在计算月的天数1、3、5、7、8、10、12为31天,4、6、9、11为30天,平年2月为28天,闰年2月为29天,用总天数计算出周几,每七个一换行,打印出日历来。
  • 问题1:

     if(year>=1900){
         for(j=1900;j<year;j++){
             if((j%4==0&&j%100!=0)||(j%400==0))
                 tday+=366;
             else
                 tday+=365;
         }
             }
     else
         System.out.print("输入错误");

    原因:

     if((j%4==0&&j%100!=0)||(j%400==0))

错写成了

if((year%4==0&&year%100!=0)||(year%400==0))

解决方案:在计算天数的时候总是差二十多天,然后就分开输出,发现月的天数,日期天数都正确,但是年的天数有错,后来发现是计算的都是同一年,然后把year改成j,就输出正确了。

问题2:

System.out.println("日\t一\t二\t三\t四\t五\t六");
    for(int d=1;d<=week;d++){
        System.out.print("\t"); 
        y++;
        }
    for(int a=1;a<=days;a++){
        y++;
    System.out.print(a+"\t");
    if(y%7==0){
        System.out.println();
    }

原因:不知道第一天前面应该怎么加空格,不知道换行应该怎么写

解决方案:通过查了一些网上的资料,问同学,以及自己琢磨,想出空格可以用周来表示,用y来表示输出的空格以及输出的日期,使每七个一换行,问题得以解决。

(三)代码托管

  • 码云commit历史截图
    1079968-20170318110205573-1295512550.png

(四)学习进度条

代码行数(新增/累积)学习时间(新增/累积)本周学习内容
目标5000行300小时
第2-4周300/30030/30学习了Scanner,Random,boolean
第5周
第6周

转载于:https://www.cnblogs.com/yang-yonghui/p/6572257.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值