zoukankan      html  css  js  c++  java
  • day10

    1,简述String类中的equals方法与Object类中的equals方法的不同点。

    ①Java中其他类都是Object类的子类,Object类中的equals()方法比较的是两个对象的地址。
    ②String中equals()方法比较的是两个对象的值是否相同

    2,编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几;

    复制代码
    package demo;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.Scanner;
    
    class WeekCaseException extends Exception {
            public WeekCaseException() {
            }
            public WeekCaseException(String me){
                super(me);
            }
        }
        class Demo01{
            public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入日期:");
                String str = sc.nextLine();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Date date = null;
                try {
                    date = sdf.parse(str);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                //把Date类型转为Calendar类型
                Calendar c = Calendar.getInstance();
                c.setTime(date);
                //提取年月日
                int year = c.get(Calendar.YEAR);
                GregorianCalendar gc = new GregorianCalendar();
                if(gc.isLeapYear(year)){
                    System.out.println(year+"是闰年");
                }else{
                    System.out.println(year+"不是闰年");
                }
                //获得月字段天数的最大值
                int day = c.getActualMaximum(Calendar.DAY_OF_MONTH);
                System.out.println("该月有"+day+"天");
                //获得周几
                int i = c.get(Calendar.DAY_OF_WEEK) - 1;
                String week = "";
                try {
                    week = matching(i);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("今天是周"+week);
            }
            public static String matching(int i) throws Exception {
                String s = "";
                switch (i) {
                    case 0:
                        s = "日";
                        break;
                    case 1:
                        s = "一";
                        break;
                    case 2:
                        s = "二";
                        break;
                    case 3:
                        s = "三";
                        break;
                    case 4:
                        s = "四";
                        break;
                    case 5:
                        s = "五";
                        break;
                    case 6:
                        s = "六";
                        break;
                    default:
                        throw new WeekCaseException("超出了正常一周范围");
                }
                return s;
            }
    
        }
    复制代码

    3,计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。

    复制代码
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class Demo02 {
            public static void main(String[] args) throws ParseException {
                String s1 = "2020-10-26";
                String s2 = "2019-11-06";
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                //把字符串时间解析为Date对象
                Date d1 = sdf.parse(s1);
                Date d2 = sdf.parse(s2);
                //分别获得两个日期的long类型毫秒数
                long date1 = d1.getTime();
                long date2 = d2.getTime();
                //两个时间相隔的毫秒数
                long d = date1 - date2;
                //一天的毫秒数
                final long day = 86400000;
                //相隔多少天
                System.out.println(s1+"与"+s2+"相隔"+(d / day)+"天,相隔"+(d/day/7)+"周");
            }
        }
    复制代码

    4,简述StringBuilder类与string类的区别

    ①工作原理不同:String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET 框架下,这个操作实在是划不来。因为系统先是把 两个字符串写入内存,接着删除原来的 String 对象,然后再创建一个 String 对象,并读取内存 中的数据赋给该对象。这一来二去的,耗了不少时间。而使用 System.Text 命名空间下面的 StringBuilder 类就不是这样了,它提供的 Append 方法,能够在已有对象的原地进行字符串的修改,简单而且直接。

    5,计算自己出生了多少天?

    复制代码
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    public class Demo03 {
        public static void main(String[] args) throws  Exception {
            System.out.println("请输入出生日期 格式 YYYY‐MM‐dd");
            // 获取出生日期,键盘输入
            String birthdayString = new Scanner(System.in).next();
            //创建SimpleDateFormat对象实例并定义好转换格式
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            // 调用方法parse,字符串转成日期对象
            Date birthdayDate = sdf.parse(birthdayString);
            // 获取今天的日期对象
            Date todayDate = new Date();
            // 将两个日期转成毫秒值,Date类的方法getTime
            long birthdaySecond = birthdayDate.getTime();
            long todaySecond = todayDate.getTime();
            long secone = todaySecond - birthdaySecond;
            if (secone < 0) {
                System.out.println("你还没出生呢");
            } else {
                System.out.println("你已经出生"+ secone / 1000 / 60 / 60 / 24+"天了!");
            }
        }
    }
    复制代码

    6,求一个for循环 执行时间?

    复制代码
    public class Demo04 {
        public static void main(String[] args) {
            int a = 0;
            int x = 10000;
            for (int i = 0; i < x; i++) {
                a = 2*x;
            }
            System.out.println(a/1000);
        }
    }
     
  • 相关阅读:
    Servlet-RequestDispatcher.forward方法
    Servlet---RequestDispatcher.include方法
    解决用了vertical-align: middle,但是文字图片依旧不居中的问题
    vue项目中rem适配问题
    微信小程序之使用ecarts---详细步骤
    微信公众号之input输入框获取焦点后,底部固定定位的按钮顶起问题解决办法
    微信公众号开发之解决IOS点击input 、textarea页面错位的问题
    微信小程序用navigationStyle自定义导航栏做法
    微信小程序 mpvue + picker
    PyCharm怎么整理(格式化)当前代码
  • 原文地址:https://www.cnblogs.com/dmmm/p/13881868.html
Copyright © 2011-2022 走看看