• java第一次作业


    (一)学习总结

    1.java中从键盘输入可通过Scanner类完成,举例如下:

    Scanner in=new Scanner(System.in);
    int year =in.nextInt();
    

    Scanner是一个类,作用是获取控制台的输入信息,反馈到in 里,In是一个对象,通过new创建对象。System.in中in 不能改。同时要记得写import java.util.Scanner;添加Scanner类。
    2.random类 随机数的产生

    import java.util.Random;
    public class caiyouxi {
    	public static void main(String args[]){   //主函数
        	    Random random=new Random();
                int realNumber=random.nextInt(100)+1;
        }
    }
    

    math类 随机数的产生
    Math.random()
    区别在于math类的范围小一些,是在0到1之间随机一个double类型的数,而random类的可以更改类型也可更改数字范围。
    3.判断某年到某年之间有多少天,会涉及到之间有多少个闰年。要注意百年不闰的说法。例如是400倍数的闰年2000年,相隔4年会有一个闰年(2004),而相隔100年又不是闰年例如(2100),相隔400年又是一个闰年例如(2400)。所以要记得减去百年不闰的天数,加上隔400年为闰年的天数。

    public static int totaldays(int year,int month){         //1900到year month有多少天
    		int a,b,h,f,c=0;
    		int d;
    		int i;
    		a=year-1900;
    		b=(a-1)/4;
    		h=(year-1600)/400;
    		f=(year-1900)/100;
    		if(month==1){
    			c=0;
    		}
    		else{
    			for(i=1;i<month;i++){
    				c=c+days( year,i);
    			}
    		}
    		d=a*365+b-f+h+c;
    		return d;
    }
    

    (二)实验总结

    1.猜数游戏

    • 程序设计思路:
      把猜数字写在子函数中,在主函数中通过循环调用子函数来实现选择性多次玩游戏,子函数写的是一轮游戏。

    • 实验问题分析:
      问题1:用Scanner类进行输入,如果要进行多次不同的输入时,new建立的对象一样时会报错。
      原因:不同的输入,不同的变量就会对应不同的存储空间和地址,所以对应的new建立的对象也不同。
      解决方案:

       Scanner in=new Scanner(System.in);
       int m =in.nextInt();
       Scanner input=new Scanner(System.in);
       int a =input.nextInt();
      

    把这两个输入中的变量和对象都设置为不同的。
    1.万年历

    • 程序设计思路:
      建立4个子函数有:是否为闰年、某年某月有多少天、1900年到某年某月有多少天、日历。写成子函数是方便调用,例如某年某月有多少天会调用到是否为闰年的子函数,还有日历子函数较为复杂,它用到前面的三个子函数。

      问题1:输出日历时星期几与几号错位
      原因:星期几是用字符串输出而且输出的是汉字,而几号是数字。
      解决方案:

           System.out.println("日	一	二	三 	四 	五	六 ");    
       	for(i=1;i<=d+1;i++){
       		System.out.print("	");
       	}
       	m=days( year,month);     //当月有多少天
       	for(i=d+2;i<m+(d+2);i++){
       		
       		 System.out.print(e+"	");
       			e++; //e为几号
       	    if(i%7==0){
       			System.out.println();
       		}
       	}
      

      用 来实现空格,实现汉字和数字对齐。

    (三)[代码托管]https://git.oschina.net/hebau_cs15/java-cs01lxy.git

    • 码云commit历史截图

    (四)学习进度条

    代码行数(新增/累积) 学习时间(新增/累积) 本周学习内容
    目标 5000行 300小时
    第2-4周 141 30/30 学习了Scanner类还有随机数
    第5周
    第6周
  • 相关阅读:
    Linux下的内核测试工具——perf使用简介
    浅谈C++中指针和引用的区别
    成为Java顶尖程序员 ,看这11本书就够了
    spring注解详解
    Spring AOP详解和实现方式
    Spring IoC中各个注解的理解和使用
    NameNode配置HA后及其反过程Hive路径不正确的问题解决
    [maven] 常用插件解析
    Saiku3.15去除License与主界面
    saiku系列文章
  • 原文地址:https://www.cnblogs.com/6770675746-yan/p/6580313.html
Copyright © 2020-2023  润新知