编程语言
首页 > 编程语言> > java第九次课

java第九次课

作者:互联网

本次课主要内容:上节课知识补充、Math类、Date类、异常处理

补充

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;

public class Random {
public static void main(String[] args) {
//输入流
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个自然数:");
int x = sc.nextInt();
System.out.println("请输入第二个自然数:");
int y = sc.nextInt();
if (getRandom(x, y) < 0) {
System.out.println("您输入的数字不合法!");
} else {
System.out.println("系统产生的随机数为:" + getRandom(x, y));
}
}

// 封装方法
private static int getRandom(int x, int y) {
//创建对象
Random random = new Random();
//定义一个小于0的数
int num = -1;
//判断是否为自然数
if (x < 0 || y < 0) {
return num;
} else {
//获取最大值
int max = x > y ? x : y;
//获取最小值
int min = x < y ? x : y;
int mid = max - min;// 求差
// 产生随机数
num = (int) (Math.random()*(mid+1))+min;
}
return num;
}
}
//封装另一种方法
public static int getRandomTwoNumber(int start,int end){//start小于end
return (int)(Math.random()*(end-start+1)+start);
}

返回最接近正无穷大的数,该值小于等于参数,并等于某个整数

1
2
3
4
5
6
7
double d=11.9;
double d1=-11.9;
System.out.println(Math.floor(d));
System.out.println(Math.floor(d1));
/*控制台输出
11.0
-12.0*/

日期类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Date;
import java.text.SimpleDateFormat;
public class TestDate{
public static void main(String[] args){
Date d=new Date();
//已过时方法
/*System.out.println(d.getYear());
System.out.println(d.getHours());*/
//获取日期方法 y对应年,M对应月,d对应日
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
String str=sdf.format(d);
System.out.println(str);
//字符串转日期(字符串格式必须与获取日期格式相同)
String date="2018/4/5";
//异常处理
try {
//字符串转为日期
Date d1=sdf.parse(date);
System.out.println(d1);//输出:Thu Apr 05 00:00:00 CST 2018
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

异常处理

掌握一个图,五个关键字,一个知识点
一个图


五个关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class TestException {
public static void main(String[] args) {
//调用方法
police();
}
//网吧检测年龄,小于18禁止入内
public static void checkAge(int age) throws Exception {//抛出异常
if(age<18) {
//System.out.println("年龄小于十八,禁止入内!");
//声明异常
throw new Exception("年龄小于十八,禁止入内!");
}else {
System.out.println("欢迎光临!");
}
}
//公安调用检测年龄方法
public static void police() {
try {
checkAge(20);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
System.out.println("无论是否发生异常,都执行");
}
}
}

一个知识点



接口练习题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. 定义Person(人员)抽象类, Person类包含以下成员变量:name、gender(性别)、birthDate(出生日期)等
方法:修改个人信息、显示个人信息等。
2. 定义Reader(读者)接口,在其中定义抽象方法,如:借书、还书、搜索书籍等。
3. 定义Student类。Student类是Person的子类,并实现Reader接口。类包含以下成员:
变量:学号、专业、借书的数量、借书数量限制等。
方法: 实现Reader接口的方法。
4. 定义Book(书籍)类,也可以定义Book类的子类。Book类及其子类的成员由学生自己思考并给出定义;
5. 定义Library(图书馆)类,包含以下成员:
变量:
Name,图书馆名称
students, Student[],记录图书馆的学生信息;
books, Books[],记录图书馆的藏书的书名;
方法:添加新书、添加新的成员;
6. 定义测试(Test)类测试自己设计的系统,测试内容如下:
创建Library对象,包括:至少2个Book对象和1个Student对象。
使用创建的Student对象测试借书、还书、搜索书籍等方法,并将结果输出到屏幕。

答案

答案不唯一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
大专栏

标签:java,int,第九次,System,println,异常,Math,out
来源: https://www.cnblogs.com/liuzhongrong/p/12346614.html