Java技术 第一次作业

时间:2022-09-15 00:00:54

(一)学习总结

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&lt&semi;java技术&gt&semi;预备作业计科冀浩然

    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&quot ...

  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. 完整实例(C&num; Socket)

    问题描述:          现在创建一个C# Socket实例,客户端断开服务器能立刻输出断开连接客户端信息 服务器端断开,客户端能立刻察觉服务器状态 问题解决: 服务器端代码: 客户端代码: 以上 ...

  2. centos下redis安装

    下载redis http://www.redis.cn/download.html 下载php的redis扩展 https://github.com/phpredis/phpredis#install ...

  3. ScrollView嵌套listview 时根据内容动态设置listview高度

    public static void setListViewHeightBasedOnChilds(ListView listView){ ListAdapter listAdapter = list ...

  4. anadonca环境配置和模块安装

    1.最方便的python环境配置: 下载anaconda即可,自带spyder,集成科学计算的库,自带pip,不用折腾. 想用sublime编写python并运行的话,需要自己配置编译环境,并下载插件 ...

  5. docker、oci、runc以及kubernetes梳理

    容器无疑是近年来云计算中最火热的关键词.随着docker的大热,docker.oci.runc.containerd等等名词也逐渐传播开来.这么多的名词,也容易让人混淆.本文对相关名词和其之间的联系进 ...

  6. WebDNN:Web浏览器上最快的DNN执行框架

    WebDNN:Web浏览器上最快的DNN执行框架 为什么需要WebDNN? 深层神经网络(DNN)在许多应用中受到越来越多的关注. 然而,它需要大量的计算资源,并且有许多巨大的过程来设置基于执行环境的 ...

  7. C&plus;&plus;求集合的交集差集

    标准库的<algorithm>头文件中提供了std::set_difference,std::set_intersection和std::set_union用来求两个集合的差集,交集和并集 ...

  8. 从BIRT报表文件中获取页面设置信息(页边距、纸张大小、输出方向)的方法

     从BIRT报表文件中获取页面设置信息(页边距.纸张大小.输出方向)的方法    报表打印时,尤其是套打的报表,页面设置信息非常重要,比如页边距,纸张大小,输出方向等,而且每个报表的相关参数有可能不同 ...

  9. VS从数据库表生成Model代码

    1.工具——扩展和更新——安装下列插件 2.如图所示,在项目或者MODEL文件夹下添加 3.如图所示,生成了一个datanase.11 4.打开该文件后,将数据库连接字符串改为你自己项目中WebCof ...

  10. Seletct2

    doc 博客: 基于Metronic的Bootstrap开发框架经验总结(3)--下拉列表Select2插件的使用 <div class="span4 channelSearch&qu ...