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

标签(空格分隔): 未分类

---张鹏 计科1501班


1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
首先把import java.util.scanner导入程序,然后通过Scanner in=
new Scanner(System.in)创建一个Scanner,随后调用in.nextInt()或者in.nextDouble等进行输入,输入的方法有多种例如整型,浮点型等多种。

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

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?
直接调用Math.random()是产生一个[0,1)之间的随机数,然而用

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

这样产生的是一个整形随机数,而且运用random()方法产生的随机数可以控制随机数的范围,比如a=rand.nextInt(100);表示的就是随机产生0-100的随机整形数。
二.总结
比如猜数游戏中就是引用了产生整形随机数。
程序设计思路:首先调用产生随机数的函数money=rand.nextInt(100);产生一个整形价格然后再调用输入函数in.nextInt();输入一个猜的价格,如果猜大了提示一下,猜小了也提示,总共有10次机会。
再此个程序中没有遇到难解的问题,编写的挺顺利。

import java.util.Random;
import java.util.Scanner;
public class Caishu {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
    Scanner in=new Scanner(System.in);
    Random rand=new Random();
    int money,cai,i=1;
    money=rand.nextInt(100);
    System.out.println("请输入猜的价格?");
    cai=in.nextInt();
    while(i<=10)
    {
    	if(cai>money){
        	System.out.println("猜大了!");
        	i++;
    	}
    	else if(cai<money){
    		System.out.println("猜小了!");
    		i++;
    	}
    	else{
    		System.out.println("猜对了!它的价格是:"+ money);
    		System.out.println("猜的次数为:"+ i);
    		break;
    	}
    	System.out.println("请输入猜的价格?");
        cai=in.nextInt();    	
    }
    if(i>10){
    	System.out.println("商品价格为:"+ money);   	
    }
    
	}
}

万年历
设计思路:其中已知1900年1月1日是星期一,从此天算起到所输入日期的总天数,然后再用totaldays%7公式算出今天是星期几。
遇到的问题:算出的总天数不对
解决思路:可能是闰年判断不当
修改后天数正确,可以求得其是周几。
程序如下


import java.util.Scanner;
public class Rili {

	/**
	 * @param args
	 */
	public static void main(String[] args){
		// TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        int year,month,day,a=0,c=0,d=0,i,totaldays,xingqi;
        System.out.print("请输入年份:");
        year=in.nextInt();
        if(year<1900){
        	System.out.println("输入的年份错误,应比1900大或者等于1900,请重新输入!:");
        	year=in.nextInt();	
        }
        else{
        	for(i=1900;i<year;i++){
        		if(i%4==0&&i%100!=0||i%400==0){
        		a+=366;	
        		}
        		else {
        		a+=365;
        		}       		
        }
       }
        	System.out.print("请输入月份:");	
        	month=in.nextInt();
        	while(month>12){
        		System.out.println("月份输入错误,应小于等于12,请重新输入!");
        		month=in.nextInt();
        	}
        	if(month==1){
        		c+=0;
        	}
        	else{
        		for(i=1;i<=month-1;i++){
        			if(i==1||i==3||i==5||i==7||i==8||1==10||i==12){
        				c+=31;
        			}
        			else if(i==4||i==6||i==9||i==11){
        				c+=30;
        			}
        			else if(i==2){
        				if(year%4==0&&year%100!=0||year%400==0){
        					c+=29;
        				}
        				else{
        					c+=28;
        				}
        			}
        		}	
        	}
        	System.out.print("请输入日:");
        	day=in.nextInt();
        	if(month==2){
        		if(year%4==0&&year%100!=0||year%400==0){
        			while(day>29){
        			System.out.print("输入的日错误,应小于等于29,请重新输入!:");
            		day=in.nextInt();		
        		}
        			d+=day;
        	}
        		else{
        			while(day>28){
        				System.out.print("输入的日错误,应小于等于28,请重新输入!:");
                		day=in.nextInt();			
        			}
        		}
        		d+=day;
        	}
        	else{
        		while(day>31){
            		System.out.print("输入的日错误,应小于31,请重新输入!:");
            		day=in.nextInt();	
            	}            
            		d+=day;
        	}
           totaldays=a+c+d;
           xingqi=totaldays%7;
           System.out.print("总天数" + totaldays);
           System.out.print("今天是星期" +xingqi);
        }
}

历史截图为


************* **本周进度条** | | 代码行数(新增/累积)|学习时间(新增/累积)|本周学习内容| | -------- |:----------------:|:----------------:|:------------:| | 目标 | 5000行 | 300小时 | | | 第2-4周 | 300/200 | 30/25 | 学习了Java基本基础,编写了基本程序 | | 第5周 | | | | | 第6周 | | | |
posted on 2017-03-16 16:14  雯水声  阅读(183)  评论(1编辑  收藏  举报