提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
提示:这里可以添加本文要记录的大概内容:
1月10日练习内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目1- 日期换算
1.题目描述
描述
已知,纽约时间比北京时间慢12小时,请根据用户输入的北京时间输出相应的纽约时间,若用户输入错误的月份或日期等信息则将其顺加。例如用户输入2021 13 32 14 43 54则生成北京时间为:2022-02-01 14:43:54 纽约时间为:2022-02-01 02:43:54
输入描述:
一组字符串,年,月,日,时,分,秒用空格隔开,如果用户数据输入不正常,应输出“您输入的数据不合理”
输出描述:
北京时间为:年-月-日 时:分:秒
纽约时间为:年-月-日 时:分:秒
2.思路与代码
2.1 思路
1.利用split函数对字符串以空格分割,用字符串数组保存,
2.判断数组长度是否不为6,如果不为6,则是不合理输入了
3.将数组中的字符串依次连接成日期的格式,然后用连接好的字符串初始化一个日期类(Date),4.用format函数就可以纠正超过限制的月份日期,纽约的时候我们需要减掉12个小时,
2.2 代码
代码如下(示例):
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Scanner in = new Scanner(System.in);
String str1 = in.nextLine();
//write your code here......
String[] arr = str1.split(" ");
if (arr.length != 6) {
System.out.println("您输入的数据不合理");
} else {
String str = arr[0] + "-" + arr[1] + "-" + arr[2] + " " + arr[3] + ":" + arr[4]
+ ":" + arr[5];
Date date = sdf.parse(str);
System.out.println("北京时间为:" + sdf.format(date.getTime()));
System.out.println("纽约时间为:" + sdf.format(date.getTime() -
(long)12 * 60 * 60 * 1000));
}
}
}
二、题目2-判断学生成绩
1.题目描述
描述
定义一个方法用于录入学生的考试成绩,要求考试成绩必须在0-100之间,不满足就产生一个自定义异常,控制台输出一个错误信息"分数不合法"(请输出自定义异常对象的错误信息,将错误信息设置为分数不合法)
输入描述:
控制台输入的int类型整数
输出描述:
若分数合法则输出该分数,否则输出错误信息分数不合法
2.思路与代码
2.1 思路
1.本题需要自定义异常,需要一个构造函数,根据抛入的错误信息是字符串,我们直接用字符串构造这个异常,同时用super调用父类的函数构造。
2.在if判断成绩之前加入try-catch的异常处理语句,判断分数是否在0-100,如果在直接输出分数,否则抛出一个错误信息为"分数不合法"(字符串)的异常,
3.处理异常部分即catch部分,直接用异常父类的getMessage方法获取异常信息,输出即可
2.2 代码
代码如下(示例):
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
//write your code here......
try {
if (score >= 0 && score <= 100) {
System.out.println(score);
} else {
throw new ScoreException("分数不合法");
}
} catch (ScoreException str) {
System.out.println(str.getMessage());
}
}
}
class ScoreException extends Exception {
//write your code here......
public ScoreException(String message) {
super(message);
}
}
总结
提示:这里对文章进行总结: