java第一次作业 张鹏 计科1501班

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);
        }
}

历史截图为
1081765-20170316160723229-1065679093.png
******
1081765-20170316160257854-152650880.png
*************
本周进度条
| | 代码行数(新增/累积)|学习时间(新增/累积)|本周学习内容|
| -------- |:----------------:|:----------------:|:------------:|
| 目标 | 5000行 | 300小时 | |
| 第2-4周 | 300/200 | 30/25 | 学习了Java基本基础,编写了基本程序 |
| 第5周 | | | |
| 第6周 | | | |

转载于:https://www.cnblogs.com/zhangpengblogs/p/6560078.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值