Date,SimpleDateFomat,Calentar,System,BigDecimal

这篇博客展示了如何使用Java进行日期和时间的格式转换、计算两个日期之间的差值、判断星期以及使用`System.arraycopy()`处理字符数组。还涉及到BigDecimal计算字符串数组的平均值。
摘要由CSDN通过智能技术生成

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) throws ParseException {
        
        //用代码实现:获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08。
        Date d = new Date();
        SimpleDateFormat  sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(d));
        
        
        //使用SimpleDateFormat类,把2018-03-04转换为2018年03月04日。
        String s = "2018-03-04";
        SimpleDateFormat st = new SimpleDateFormat("yyyy-MM-dd");
        Date str = st.parse(s);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");
        System.out.println(sf.format(str));
        
        //用程序判断2018年2月14日是星期几
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR,2018);
        cal.set(Calendar.MONTH,2);
        cal.set(Calendar.DAY_OF_MONTH,14);
        int week =  cal.get(Calendar.DAY_OF_WEEK);
        System.out.println(ri(week));

        //现有一个字符数组{'i','t','c','a','s','a'},请使用System类中的arraycopy()方法在控制台输出“itcast”。
        //(提示:将[1]号数组元素复制到最后位置并覆盖原有元素。
        char[] ch = {'i','t','c','a','s','a'};
        System.arraycopy(ch,1, ch ,5,1);
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]);
        }
        //有2个字符串形式的日期数据,计算它们相距多少天?
        //"2014年09/28 23时13分01秒"
        //"2009-02月12日 12时02分01秒"
        String string1 = "2014年09/28 23时13分01秒";
        String string2 = "2009-02月12日 12时02分01秒";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM/dd HH时mm分ss秒");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM月dd日 HH时mm分ss秒");
        Date da1 = sdf1.parse(string1);
        Date da2 = sdf2.parse(string2);
        double l = (da1.getTime() - da2.getTime()) /1000/60/60/24;
        System.out.println();
        System.out.println(l + "天");

        //获取今天是今年的的第几天
        Calendar c1 = Calendar.getInstance();
        System.out.println(c1.get(Calendar.DAY_OF_YEAR) + "天");
        
        //代码计算500天后是几几年几月几日
        Calendar c2 = Calendar.getInstance();
        c2.add(Calendar.DAY_OF_MONTH,500);
        int i = c2.get(Calendar.YEAR);
        int i1 = c2.get(Calendar.MONTH);
        int i2 = c2.get(Calendar.DAY_OF_MONTH);
        System.out.println(i + "年" + (i1 + 1) + "月" + i2 + "日" );
        
        //有一个String[]数组如下:
        //String[] nums = {“3.22”,”8.1”,”7”,”2.5”,”3.1”,”7.77”,”8.0”,”9.21”};
        //请编程计算它们的平均值,结果精确到小数点后两位。
        String[] nums = {"3.22", "8.1" , "7" , "2.5" , "3.1" , "7.77" , "8.0" , "9.21"};
        BigDecimal b1 = new BigDecimal(0);
        for (int i3 = 0; i3 < nums.length; i3++) {
           BigDecimal b = new BigDecimal(nums[i3]);
           b1 = b1.add(b);
        }
        System.out.println(b1.divide(BigDecimal.valueOf(nums.length), 2, BigDecimal.ROUND_HALF_UP));


    }
    //转换星期数
    public static String ri(int week){
        String[] str = {"","星期七","星期一","星期二","星期三","星期四","星期五","星期六"};
        return str[week];
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值