(一)学习总结

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. 【Code Tools】Java微基准测试工具JMH之入门篇

    一.JMH是什么 JMH是一个Java工具,用于构建.运行和分析用Java和其他语言编写的以JVM为目标的 nano/micro/milli/macro 基准测试. 二.基本注意事项 1)运行JMH基 ...

  2. 动态嵌套form,使用Stimulus Js库(前后端不分离)

    我的git代码:https://github.com/chentianwei411/nested_form-Stimulus- Stimulus:     https://www.cnblogs.co ...

  3. Python实现:汉诺塔问题

    汉诺塔问题不管在任何编程语言里都是经典问题,是采用递归算法的经典案例,该问题可以抽象如下: 一 .3根圆柱A,B,C,其中A上面串了n个圆盘 二 .这些圆盘从上到下是按从小到大顺序排列的,大的圆盘任何 ...

  4. 448. Find All Numbers Disappeared in an Array&&645. Set Mismatch

    题目: 448. Find All Numbers Disappeared in an Array Given an array of integers where 1 ≤ a[i] ≤ n (n = ...

  5. vue-cli中怎么样使用less

    1.安装安装less依赖,npm install less less-loader --save 2.修改配置文件, 在build/webpack.base.conf.js文件的module.expo ...

  6. 刷题upupup【Java中Queue、Stack、Heap用法总结】

    [Queue] 先进先出(First-In-First-Out),LinkedList实现了Queue接口.它只允许在表的前端进行删除操作,而在表的后端进行插入操作. add()       增加一个 ...

  7. vmware install win8 and server2012 problem

    Environment: vmware workstation 9 and win7 64bit. Problem: when i want to install server2012r2 and w ...

  8. 服务器端网络编程之 IO 模型

    引言  从 T 跳槽到 A 之后,我的编程语言也从 C++ 转为 了 Java.在 T 做的偏服务器端开发,而在 A 更偏向于业务开发.上周在 A 公司组内做了一个<服务器端高性能网络编程> ...

  9. Code Reading: ORB-SLAM回环检测源码阅读+注释

    之前研究过一些回环检测的内容,首先要看的自然是用词袋回环的鼻祖和正当继承人(没有冒犯VINS和LDSO的意思)ORB-SLAM.下面是我的代码注释.因为代码都是自己手打的,不是在源码上注释的,所以一些 ...

  10. 大数据之NBA

    2017年NBA季后赛落幕后,网络上仍有大量关于NBA关键词的搜索. 这是近30天来,通过PC端和移动端搜索的趋势,可以看到有些日期的搜索指数是猛增的,因为NBA有大新闻爆出,比如8月23日,骑士与凯 ...