(一)学习总结

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. Ubuntu - apt -commands

    1. install sudo apt install [软件名] sudo apt-get install [软件名]Tab补全,可以使用sudo apt upgrade 升级apt, 也可以通过s ...

  2. PCA和PCoA

    讲解很详细:http://blog.genesino.com/2016/10/PCA/ PCA分析一般流程: 中心化(centering, 均值中心化,或者中位数中心化),定标(scale,如果数据没 ...

  3. 基于iview 封装一个vue 表格分页组件

    iview 是一个支持中大型项目的后台管理系统ui组件库,相对于一个后台管理系统的表格来说分页十分常见的 iview是一个基于vue的ui组件库,其中的iview-admin是一个已经为我们搭好的后天 ...

  4. jQueryEasyUI应用 – datagrid之CRUD应用

    本文 jQueryEasyUI + SpringBoot + Mybatis整合Datagrid的CRUD应用 一.前言准备 1.我们将使用下面的插件: datagrid:向用户展示列表数据. dia ...

  5. js如何实现类的继承

    方法一:借助构造函数实现继承 这种方法的缺点:原型链上的东西并没有被继承. 方法二:借助原型链实现继承 这种方法的缺点:改变了一个实例对象,另一个实例对象也跟着改变,因为s1.__proto__ == ...

  6. Vue2全家桶之二:vue-router(路由)详细教程,看这个就够了

     作者:东西里本文转载于:https://www.jianshu.com/p/514c7588e877来源:简书 转载仅供自己日后看方便.  由于Vue在开发时对路由支持的不足,于是官方补充了vue- ...

  7. 一条shell命令让多台Linux服务器执行

    1.环境 局域网环境有3台Linux服务器,配置host文件 [root@master1 ~]# vim /etc/hosts 192.168.8.201 master1 192.168.8.202 ...

  8. .Net mvc 上传多文件

    .net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] publ ...

  9. Django_创建项目

    安装django pip install Django 将下面路径添加到系统环境变量的path中 C:\Users\12978\AppData\Local\Programs\Python\Python ...

  10. 点云格式-pcd

    每一个pcd文件包含一个文件头,它声明文件中存储的点云数据的特性(元数据).pcd文件头必须用ASCII码来编码.头文件属性字段都以一个新行(\n)分开.从0.7版本开始,pcd文件头包含下面的字段: ...