java练习题(API&异常)

1

在这里插入代码片现获取到两个字符串格式的数字:字符串23和字符串24。请编写程序,计算两个数字的和,并输出在控制台。 运行结果:
相加结果为:47

参考答案

package cn.Work1203.hooong_01;

public class Demo {
    public static void main(String[] args) {
        String s="23";
        String s1="24";
        int i = Integer.parseInt(s) + Integer.parseInt(s1);
        System.out.println(i);
    }
}

2

现获取到用户填写的3个年龄信息,但格式是以逗号分隔的字符串形式,例如:"23,24,25"(直接定义字符串给出即可)。现需要求出这三个年龄的平均年龄,请编写程序实现,并将结果打印到控制台。 运行结果:
平均年龄为:24

参考答案

package cn.Work1203.hooong_01;

public class Demo01 {
    public static void main(String[] args) {
        String s="23,24,25";
        String[] split = s.split(",");
        int sum=0;
        for (int i = 0; i < split.length; i++) {
            sum+=Integer.parseInt(split[i]);
        }
        System.out.println(sum/split.length);
    }
}

3

请编写程序,获取当前系统日期,并将结果打印到控制台,要求展示格式为:xxxx年xx月xx日 运行结果:
2088215

参考答案

package cn.Work1203.hooong_01;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo02 {
    public static void main(String[] args) {
        Date date=new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
        String format = simpleDateFormat.format(date);
        System.out.println(format);
    }
}

4

请将字符串"2008-08-08"字符串,转换为日期对象,并将转换后的对象,以及毫秒值输出在控制台
public class Demo3 {
   public static void main(String[] args) {
        String s = "2008-08-08";

        /*
           ----- 将字符串s转换为日期对象,并得到毫秒值.-----
         */
   }
}
运行结果:
Fri Aug 08 00:00:00 CST 2008
毫秒值为:1218124800000

参考答案

public class Demo03 {
    public static void main(String[] args) {
        String s = "2008-08-08";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        /*
           ----- 将字符串s转换为日期对象,并得到毫秒值.-----
         */
        Date parse = null;
        try {
            parse = simpleDateFormat.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(parse);
        System.out.println(parse.getTime());
    }
}

5

某公司想统计下员工截至到当前时间,入职公司的天数。请编写程序实现该需求,由键盘录入员工的入职日期,格式为:xxxx年xx月xx日。将员工入职公司的天数打印到控制台。 运行结果(假设当前时间是20181210日):
请输入您入职的日期,格式为:xxxx年xx月xx日
20181209日
您入职公司已经1

参考答案

package cn.Work1203.hooong_01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/*
某公司想统计下员工截至到当前时间,入职公司的天数。请编写程序实现该需求,
由键盘录入员工的入职日期,格式为:xxxx年xx月xx日。将员工入职公司的天数打印到控制台。
运行结果(假设当前时间是2018年12月10日):
请输入您入职的日期,格式为:xxxx年xx月xx日
2018年12月09日
您入职公司已经1天
 */
public class Demo04 {
    public static void main(String[] args) throws ParseException {
        String s1="2018年12月10日";
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入入职日期:(格式为:xxxx年xx月xx日)");
        String s = sc.nextLine();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        Date date = sdf.parse(s);
        Date date1 = sdf.parse(s1);
//        Date date1=new Date();
        long l = date1.getTime() - date.getTime();
        long l1 = l / 60 / 60 / 1000 / 24;
        System.out.println("您入职公司已经"+l1+"天");
    }
}


6

请使用Calendar将当前时间的年月日分别获取,并在控制台进行打印输出
public class Demo7 {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        // 获取年份
        int year = c.get(Calendar.YEAR);
        /*
        	-----获取月日并输出-----
        */
    }
}
运行结果:
获取到的年份为:2018
获取到的月份为:12
获取到的日为:10

参考答案

package cn.Work1203.hooong_01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        // 获取年份
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int i = c.get(Calendar.DAY_OF_MONTH);
        System.out.println("获取到的年份为:"+year);
        System.out.println("获取到的月份为:"+month);
        System.out.println("获取到的日为:"+i);

    }
}

7

请在补齐代码,将try语句中可能出现问题得异常对象,全部进行捕获,捕获的顺序不限制,最终要求控制台输出 【捕获数组索引越界异常】
public class Demo2 {
    /*
       -----请编写代码,将可能会出现的异常全部进行捕获-----
    */
    public static void main(String[] args) {
        try{
            String[] arr = {"abc","bbc","ccc"};
            System.out.println(arr[10]);
            arr = null;
            System.out.println(arr[0]);
        }catch (){
           
        }catch (){
           
        }
    }
}
运行结果:
捕获数组索引越界异常

参考答案

package cn.Work1203.hooong_01;

import java.util.Calendar;

public class Demo06 {
    public static void main(String[] args) {
        try{
            String[] arr = {"abc","bbc","ccc"};
            System.out.println(arr[10]);
            arr = null;
            System.out.println(arr[0]);
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println("捕获数组索引越界异常");
        }catch (NullPointerException e){
            System.out.println("空数组异常");
        }
    }
}

你可能感兴趣的:(java第二阶段练习)