![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《Java基础入门》课后题
时光如水_岁月如哥
一分耕耘未必一分收获,但九分耕耘,必有一分收获。加油。。。
展开
-
Java课后简答题
1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、简述JRE与JDK的区别。 JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的J原创 2017-09-30 13:04:29 · 2728 阅读 · 0 评论 -
编写一个程序,实现字符串大小写的转换并倒序输出
12、编写一个程序,实现字符串大小写的转换并倒序输出1)使用for循环将字符串“HelloWorld”从最后一个字符开始遍历。2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase() 方法将其转换为大写字符3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuf原创 2017-09-30 13:55:10 · 26104 阅读 · 1 评论 -
计算从今天算起,100天以后是几月几号
13、计算从今天算起,100天以后是几月几号,并格式化成xxxx年x月x日的形式打印出来。提示:1)调用Calendar类的add()方法计算100天后的日期2)调用Calendar的getTime() 方法返回Date类型对象3)使用FULL格式的DateFormat对象,调用format() 方法格式化Date对象import java.text.DateFormat;i原创 2017-09-30 13:57:18 · 41696 阅读 · 0 评论 -
利用Random类来产生5个20~50之间的随机整数
14、利用Random类来产生5个20~50之间的随机整数。 提示:[n-m](n、m均为整数,nimport java.util.Random;public class Test03 { public static void main(String[] args) { Random rand = new Random(); int[] num = n原创 2017-09-30 14:00:17 · 32656 阅读 · 0 评论 -
使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合
15、使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合提示:1)使用add()方法将元素添加到ArrayList集合中。2)调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代出集合中的所有元素。import java.util.*;public class Test0原创 2017-09-30 14:02:06 · 17603 阅读 · 0 评论 -
在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加
16、在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。提示:1)Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。import java.util.*;public cla原创 2017-09-30 14:04:22 · 22090 阅读 · 1 评论 -
选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来
17、选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。提示:1)创建TreeMap集合。2)使用put()方法将学号(“1”、“2”、“3”、“4”、“5”)和姓名(“Lucy”、“John”、“Smith”、“Aimee”、“Amanda”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。3)使用 map.keySet()获原创 2017-09-30 14:07:48 · 21442 阅读 · 1 评论 -
编写一个程序,分别使用字节流和字符流拷贝一个文本文件
18、编写一个程序,分别使用字节流和字符流拷贝一个文本文件。提示:1)使用FileInputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝使用使用BufferedReader和BufferedWriter包装流进行包装import java.io原创 2017-09-30 14:10:13 · 15700 阅读 · 2 评论 -
输入密码123456后成功进入游戏(输错5次则被强行退出)
19、某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。提示:1)使用Sysytem.in包装为字符流读取键盘输入。 2)BufferedReader对字符流进行包装。调用BufferedReader的readLine()方法每次读取一行。3)在for循环判中判断输入的密码是否为“123456”,如果是则打印“恭喜你进入游戏原创 2017-09-30 14:13:26 · 4242 阅读 · 0 评论 -
使用InetAddress类获取本地计算机的IP地址和主机名
20、使用InetAddress类获取本地计算机的IP地址和主机名,甲骨文公司(www.oracle.com)主机的IP地址。1)通过InetAddress.getLocalHost();获取本地计算机的InetAddress对象2)通过InetAddress.getByName("www.oracle.com");获取Oracle公司的InetAddress对象import java原创 2017-09-30 14:15:43 · 8987 阅读 · 0 评论 -
使用UDP协议编写一个网络程序,设置接收端程序监听端口为8001,发送端发送的数据是“hello world”
21、使用UDP协议编写一个网络程序,设置接收端程序监听端口为8001,发送端发送的数据是“hello world”。提示:1)使用new DatagramSocket(8001)构造方法创建接收端的DatagramSocket对象,调用receive()方法接收数据。2)发送端和接收端使用DatagramPacket封装数据,在创建发送端的DatagramPacket对象时需要指定目原创 2017-09-30 14:18:47 · 6142 阅读 · 0 评论 -
编写10个线程,第一个线程从1加到10...
11、编写10个线程,第一个线程从1加到10,第二个线程从11加到20...第十个线程从91加到100,最后再把十个线程结果相加。public class Accumulator extends Thread { private int stratNum; public static int sum; public Accumulator(int startNum) { this.s原创 2017-09-30 13:53:27 · 16354 阅读 · 6 评论 -
模拟高校的三个老师同时分发80份学习笔记
10、模拟高校的三个老师同时分发80份学习笔记,每个老师相当于一个线程。public class Test01 { public static void main(String[] args) { Teacher t = new Teacher(); new Thread(t, "陈老师").start(); new Thread(t, "高老师").start(); new原创 2017-09-30 13:50:10 · 5244 阅读 · 0 评论 -
main线程打印100此次“main”,新线程打印50次“new”。
9、通过实现Runnable接口的方式创建一个新线程,要求main线程打印100此次“main”,新线程打印50次“new”。public class MyRunnable implements Runnable { public void run() { for (int i = 0; i < 50; i++) { System.out.println("new"); }原创 2017-09-30 13:47:57 · 4112 阅读 · 0 评论 -
Java课后思考题
1、简述path和classpath的区别。 path:path环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。 classpath:classpath环境变量也是系统环境变原创 2017-09-30 13:06:06 · 1099 阅读 · 0 评论 -
求“1+3+5+7+…+99”的值。
1、请编写程序,实现计算“1+3+5+7+…+99”的值。public class Test01 { public static void main(String[] args) { int sum = 0; for (int i = 1; i < 100; i++) { if (i % 2 != 0) sum += i; } System.out.printl原创 2017-09-30 13:15:42 · 8474 阅读 · 0 评论 -
根据传入的值x的不同,返回对应的y值
1.1、已知函数 x + 3 ( x > 0 ) y = 0 ( x = 0 ) x2 –1 ( x 请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。public class Test02 { public static原创 2017-09-30 13:20:22 · 4415 阅读 · 0 评论 -
实现对数组{25,24,12,76,101,96,28} 的排序
2、请编写程序,实现对数组{25,24,12,76,101,96,28} 的排序。提示:使用冒泡排序算法。public class Test03 { public static void main(String[] args) { int[] arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < arr.leng原创 2017-09-30 13:23:29 · 9892 阅读 · 0 评论 -
设计一个学生类Student并进行测试
3、设计一个学生类Student,并进行测试要求如下:1)Student类中包含姓名、成绩两个属性2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个原创 2017-09-30 13:36:33 · 27992 阅读 · 4 评论 -
定义一个Father和Child类,并进行测试
4、定义一个Father和Child类,并进行测试。要求如下:1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,原创 2017-09-30 13:38:49 · 2945 阅读 · 0 评论 -
设计一个学生类Student和它的一个子类Undergraduate
5、设计一个学生类Student和它的一个子类Undergraduate1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,原创 2017-09-30 13:40:58 · 41523 阅读 · 1 评论 -
设计一个Shape接口和它的两个实现类Square和Circle
6、设计一个Shape接口和它的两个实现类Square和Circle1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积in原创 2017-09-30 13:42:19 · 49755 阅读 · 1 评论 -
自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常
7、自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常1)NoThisSongException继承Exception类,类中有一个无参和一个接收一个String类型参数的构造方法,构造方法中都使用super关键字调用父类的构造方法。2)Player类中定义一个play(int index)方法,方法接收一个int类型原创 2017-09-30 13:43:57 · 13901 阅读 · 0 评论 -
通过继承Thread类的方式创建两个线程
8、通过继承Thread类的方式创建两个线程,在Thread构造方法中指定线程的名字,并将这两个线程的名字打印出来。public class MyThread extends Thread{ public MyThread(String name) { super(name); } public void run() { System.ou原创 2017-09-30 13:46:01 · 10364 阅读 · 0 评论 -
使用TCP协议编写一个网络程序,设置服务器程序监听端口为8002,当与客户端建立连接后,向客户端发送“hello world”,客户端接负责将信息输出
22、使用TCP协议编写一个网络程序,设置服务器程序监听端口为8002,当与客户端建立连接后,向客户端发送“hello world”,客户端接负责将信息输出提示:1)使用ServerSocket创建服务器端对象,监听8002端口,调用accept()方法等待客户端连接,当与客户端连接后,调用Socket的getOutputStream()方法获得输出流对象,输出“hello world。原创 2017-09-30 14:21:12 · 8277 阅读 · 2 评论