(一)学习总结

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

Import java.util;

构建Scanner类对象

Scanner in = new Scanner(System.in);

特别注意String类型,next()键入空格会结束输入,nextLine()不会

package shiyan;
import java.util.Scanner;
public class Shiyan{
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        System.out.println(num);
        float num1 = in.nextFloat();
        System.out.println(num1);
        double num2 = in.nextDouble();
        System.out.println(num2);
        String words = in.next();
        System.out.println(words);
        String words1 = in.nextLine();
        System.out.println(words1);
        }
}

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?

package shiyan;
public class Shiyan {

    public static void main(String[] args) {
        double a=Math.random()*100+1;
        System.out.println(a);
    }
}

math类的随机数,double类型产生一个1到100的小数

import java.util.Random;
public class Shiyan {
    public static void main(String[] args) {
        Random rand = new Random();
        int num=rand.nextInt(26)+54;
        System.out.println(num); //26~80
    }

random类开头加import java,util.Random;
rand.nextInt(26)表示0到26,
rand.nextInt(26)+54范围0~80
3.运行下列程序,结果是什么?查阅资料,分析为什么。

public class Test {
    public static void main(String args[]) {
        double a = 0.1;
        double b = 0.1;
        double c = 0.1;
        if((a + b + c) == 0.3){
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }
}
package shiyan;
import java.math.BigDecimal;
import java.math.MathContext;
public class Shiyan{
    public static void main(String args[]) {
        BigDecimal a = new BigDecimal(0.1);
        BigDecimal b = new BigDecimal(0.1);
        BigDecimal c = new BigDecimal(0.1);
        if(a.add(b).add(c).round(new MathContext(1)).equals(new BigDecimal("0.3"))){
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }
}

看书379页,对照格式,不会损失精度

package shiyan1;
import java.util.Random;
import java.util.Scanner;
public class Caijiage {
    public static void main(String[] args) {
        Random rand = new Random();
        int price=rand.nextInt(100);
        System.out.println("猜猜多少钱:");
        for(int i=10; i>=0; i-- )
        {
            Scanner in = new Scanner(System.in);
            int inputPrice = in.nextInt();
            if(i==0) {
                System.out.println("you have try 10 times , and the true price is "+price);
            }
            else if(inputPrice<price) {
                System.out.println("low");
                System.out.println("and you have "+ (i-1) +" chance");
            }else if(inputPrice>price) {
                System.out.println("high");
                System.out.println("and you have "+ (i-1) +" chance");
            }else {
                System.out.println("true");
                System.out.println("you have try "+(10-i+1)+" times , and the true price is "+price);
                break;
            }
        }
    }

}
package shiyan1;
/*
 * 输出万年历
 * 设定1900.01.01为起点
    1970~1979
    1970 4
    1971 5
    1972 0
    1973 1
    1974 2
    1975 3
    1976 5
    1977 6
    1978 0
    1979 1
 */
import java.util.Scanner;
public class Wannianli {
    static boolean isLeap(int year){ //判断闰年
        if(year%400==0 || (year%4==0 && year%100!=0)){ //是闰年
            return true;
        }  

        else{
            return false;
        }
    }
    static final int N = 1900; //用N表示起始年份
    public static void main(String[] args){
        int n = 1;//1900年1月1日 是星期一
        int month[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; //用来存储月份的天数
        int year[] = new int[1001];  //用来存储每年1月1日是星期几
        year[0] = n;
        for(int i=1;i<year.length;i++){
            int days = 365;
            if(isLeap(i+N-1)){//如果它的前一年是闰年则需要加366
                days = 366;
                year[i] = (year[i-1] + days)%7;
            }
            else{
                year[i] = (year[i-1] + days)%7;
            }
        }
        /*
        for(int i=0;i<10;i++){
            System.out.println(year[i]);
        }
        */
        int Month ,Year;
        Scanner in = new Scanner(System.in);
        System.out.println("请输入年份在(1900~2900之间):");
        Year = in.nextInt();
        if(Year>2900 || Year<1900){
            System.out.println("输入年份不合法,请重新输入!");
            return;
        }
        //System.out.println(year[Year-1970]);
        System.out.println("请输入月份(1~12之间):");
        Month = in.nextInt();
        if(Month>12 || Month<1){
            System.out.println("输入月份不合法,请重新输入!");
            return;
        }
        System.out.println(" 星期日     " +"  星期一     "+"  星期二    "+"  星期三     "+"  星期四     "+"  星期五     "+"  星期六   ");
        System.out.println();
        if(isLeap(Year)){ //如果是闰年,2月改为29号
            month[2] = 29;
        }
        int day=0; //用来记录当前月的一号是今年的第几天
        for(int i=1;i<Month;i++){
            day = day + month[i];
        }  

        day = (year[Year-N]+day)%7;
        for(int i=0;i<7;i++){//输出控制
            if(day == i){
                System.out.print("  " + 1 + "   ");
                if(day == 6){
                    System.out.println();
                }
                break;
            }
            else{
                System.out.print("      ");
            }
        }
        for(int i=2;i<=month[Month];i++){
            if(i<10){
                System.out.print("  " + i + "   ");
            }
            else{
                System.out.print(" " + i + "   ");
            }
            if((day+i-1)%7 == 6){
                System.out.println();
            }
        }
    }
}

gitbash文件夹找不到了,明天继续弄,

Java技术 第一次作业的更多相关文章

  1. 2017《java技术预备作业》

    2017<java技术预备作业> 1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 亦师亦友,很多人这样说,确实,倘若师生之间如果中间有些隔阂最终吃亏的始终是学生.我认为师生之间应 ...

  2. 2017《JAVA技术预备作业》 1502 陈明宇

    1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我期望的师生关系应该是亦师亦友的关系,美丽的校园是我们学生居住生活最久的地方而老师则是和我们接触最为密切的人.在课堂上,老师是辛勤的园丁,向我 ...

  3. 2017<java技术>预备作业计科冀浩然

    1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我期望的师生关系是相互融洽的,老师能够在上课的时候尽量多的教我们专业知识,可以尽量多和我们进行互动,课下能和我们如同朋友一般就可以了. 2.你 ...

  4. Java程序设计第一次作业

    虽说这学期Java比上学期的C语言要简单些许,但是初次面对java程序,还是有点难度的.

  5. JAVA的第一次作业

    读后感:这个学期开始接触一门新的学科就是JAVA,老师对这么学科介绍了很多,我也从中了解到了许多,它可能是相对于C语言而已可能要更加方便一些,也是现在世界上所用最多的语音(软件方面),C语言都是排在它 ...

  6. Java程序第一次作业

    public class yjj { public static void main(String[] args) { System.out.println("Hello Java" ...

  7. java 程序设计第一次作业

    public class Join{ public static void main(String args[]){ String s1=new String("hello"); ...

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

    <Java技术>第一次作业 学习总结 1.Scanner类实现基本数据输入方法 Scanner input=new Scanner(System.in); int num = input. ...

  9. java第一次作业0

    lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...

随机推荐

  1. Matlab-6:解非线性方程组newton迭代法

    函数文件: function x=newton_Iterative_method(f,n,Initial) x0=Initial; tol=1e-11; x1=x0-Jacobian(f,n,x0)\ ...

  2. Gson反序列化Map,整型自动转换为浮点型

    一 坑 场景:将Map<String,Object>结果序列化后放入redis缓存,发现反序列化后Integer类型自动转换成了Double类型 二 测试重现 @Test public v ...

  3. Spring Boot(一)

    (一)如何使用IDEA新建一个Spring Boot项目 https://www.cnblogs.com/wmyskxz/p/9010832.html

  4. python学习------面向对象的程序设计

    一 面向对象的程序设计的由来 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 和 的序列来代表程序语言 ...

  5. c#连接db2数据库

    .net项目要连接db2数据库,是要安装客户端的,否则是连接不上的: 若出现“未在本地计算机上注册‘ibmdadb2’提供程序” 解决办法: 1.先找到安装后的ibmdadb2.dll文件复制到c:\ ...

  6. websocket session共享

    单机运行 用户a通过服务器进入房间room,用户b也通过房间进入room,用户之间是通过session来通话的,所以session直接存储在集合中就可以了. 因为session存储在一台服务器的集合中 ...

  7. javeEE第一周

    1.我对javaEE这一门课的要求和想要达到的一个效果: 我对javaEE还是比较感兴趣的,大家也知道我是一个懂安全的PHPER,也有一些项目经验,我发现PHP做的web开发试用的场合主要是一些中小型 ...

  8. 根据关键字获取高德地图poi信息

    根据关键字获取高德地图poi信息 百度地图和高德地图都提供了根据关键字获取相应的poi信息的api,不过它们提供给普通开发者使用的次数有限无法满足要求.其次百度地图返回的poi中位置信息不是经纬度,而 ...

  9. js 两数的最大公约数

    function gcd(a,b){ if (b == 0){ return a; } var r = parseInt(a % b) ; return gcd(b, r);}gcd(12,5);

  10. CKEditor的使用,并实现图片上传

    ckeditor是一款富文本编辑器,类似于论坛帖子下边的回复输入框. 1.先要下载相应js文件,点我下载.根据自己的需求选择插件的丰富程度,下载后解压得到一个文件夹,放到webRoot目录下. 2.在 ...