java作业

合集下载

翁凯 java 第七周 作业

翁凯 java 第七周 作业

翁凯的Java第七周作业第一部分:介绍翁凯1. 翁凯是一名资深的软件工程师,拥有丰富的开发经验和扎实的编程基础。

2. 他在互联网行业工作多年,曾在多家知名互联网企业担任重要技术职位。

3. 翁凯擅长Java编程,对Java技术有深入的理解和丰富的实战经验。

第二部分:Java第七周作业1. 作业内容:翁凯的Java第七周作业主要包括以下几个部分:面向对象编程、异常处理、多线程编程等。

2. 面向对象编程:翁凯在作业中通过设计类和对象的方式,实现了对现实世界问题的建模和求解。

他充分运用了面向对象的特性,如封装、继承和多态,使得代码结构清晰、逻辑严谨。

3. 异常处理:在作业中,翁凯充分考虑了程序可能出现的异常情况,并进行了相应的处理。

他使用try-catch-finally语句块,对可能出现的异常进行捕获和处理,保证了程序的稳定性和可靠性。

4. 多线程编程:翁凯在作业中还涉及了多线程编程的内容,他充分利用Java提供的多线程机制,实现了并发执行的效果,提高了程序的性能和响应速度。

第三部分:作业优点和亮点1. 作业的优点:翁凯的作业在代码逻辑上清晰,结构上合理,且符合面向对象编程的思想和规范。

他的异常处理能力较强,程序健壮性良好。

在多线程编程方面,翁凯能够合理运用多线程技术,提高程序的运行效率,体现了他在并发编程方面的能力。

2. 作业的亮点:翁凯在作业中展现了对Java编程语言的深刻理解和熟练应用,尤其是对面向对象编程和多线程编程方面的技术。

他的作业不仅能够完成基本的功能需求,还体现了一定的创新和扩展能力,展现了优秀的编程思维和能力。

第四部分:总结1. 翁凯的Java第七周作业展现了他优秀的编程能力和技术功底。

他在作业中展现了对面向对象编程、异常处理和多线程编程等方面的深入理解和熟练应用,展现了一名优秀软件工程师应有的专业素养和技术水平。

期待翁凯在以后的学习和工作中继续发挥自己的优势,取得更好的成绩和进步。

java作业

java作业

一、选择题1、以下关于对象的说法不正确的是(D )。

A 组成客观世界(事物)的不同实体可以看成是对象B 对象是一个具有封装性和信息隐藏的独立模块C 对象可以分解和组合,还可以通过相似性原理进行分类和抽象D对象可以更好地模拟计算机的工作方式,体现计算机运行规律,提高程序执行效率。

2、面向对象的特点主要概括为( C )。

A可分解性、可组合性、可分类性B继承性、封装性和多态性C抽象性、继承性、封装性和多态性D封装性、易维护性、可扩展性、可重用性3、以下论述不正确的是(C )。

A对象变量时对象的一个引用B对象是类的一个实例C一个对象可以作为另一个对象的数据成员D对象不可以作为函数的参数传递4、对象之间的继承关系是(D )。

A has-aB is-aC use-aDof-a5、以下Bridge与Road之间是(D )关系。

class Bridge{Road road;}class Road{String name;}A has-aB is-aC use-aD f-a6、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以(A )。

A让该类不使用任何关键字B使用private关键字C 使用final关键字D使用protected关键字7、Java中最基本的类是(D )。

A WindowB ComponentC ObjectD Class8、以下代码将在屏幕上显示的是字符(C )。

Boolean b1=new Boolean(true);Boolean b2=new Boolean(true);if(b1==b2)if(b1.equals(b2))System.out.println("a");elseSystem.out.println("b");elseif(b1.equals(b2))System.out.println("c");elseSystem.out.println("d");A aB bC cD d9、分析以下程序的运行结果,得到的结论是( D )public class MyClass {String s;public static void main(String[] args) { MyClass m=new MyClass();m.go();}void MyClass(){s="constructor";}void go(){System.out.println(s);}}A 程序可以运行,但屏幕没有输出任何字符。

JAVA习题题目及答案

JAVA习题题目及答案

第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。

7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。

2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。

第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。

3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。

java基础50道经典练习题及答案

java基础50道经典练习题及答案

java基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。

为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。

1. 编写一个Java程序,打印输出"Hello, World!"。

```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。

```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个Java程序,将一个字符串反转并输出。

java作业题

java作业题

java作业题以下是一些Java作业题:基础题1.编写一个程序打印出1到100的所有整数。

2.编写一个程序判断一个整数是否是素数。

3.编写一个程序计算两个整数的最大公约数。

4.编写一个程序计算两个整数的最小公倍数。

中级题1.编写一个程序实现冒泡排序。

2.编写一个程序实现选择排序。

3.编写一个程序实现插入排序。

4.编写一个程序实现快速排序。

高级题1.编写一个程序实现二叉树的遍历。

2.编写一个程序实现二叉查找树的查找。

3.编写一个程序实现二叉堆的堆排序。

4.编写一个程序实现图的邻接矩阵表示。

其他题1.编写一个程序实现一个简单的计算器。

2.编写一个程序实现一个简单的记事本。

3.编写一个程序实现一个简单的游戏。

以下是一些具体题目:题目1编写一个程序打印出1到100的所有整数。

public class PrintNumbers{public static void main(String[]args){for(int i=1;i<=100;i++){System.out.println(i);}}}题目2编写一个程序判断一个整数是否是素数。

public class IsPrime{public static boolean isPrime(int n){if(n<=1){return false;}for(int i=2;i*i<=n;i++){if(n%i==0){return false;}}return true;}public static void main(String[]args){int n=13;System.out.println(n+"是否是素数:"+isPrime(n));}}题目3编写一个程序计算两个整数的最大公约数。

public class GreatestCommonDivisor{public static int gcd(int m,int n){if(n==0){return m;}return gcd(n,m%n);}public static void main(String[]args){int m=12;int n=18;System.out.println("最大公约数:"+gcd(m,n));}}题目4编写一个程序计算两个整数的最小公倍数。

java实践练习题

java实践练习题

java实践练习题Java是一种常用的高级编程语言,广泛应用于软件开发领域。

为了提高自己的编程技能,掌握Java的基本语法和特性,进行实践练习是必不可少的。

本文将为大家提供一些Java实践练习题,帮助读者加深对Java的理解和应用。

练习题一:用户登录验证编写一个Java程序,实现用户登录验证功能。

要求实现以下功能:1. 提示用户输入用户名和密码;2. 编写一个方法来判断用户输入的用户名和密码是否正确;3. 如果用户名和密码正确,则输出“登录成功”,否则输出“登录失败”。

示例代码:```import java.util.Scanner;public class UserLogin {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入用户名:");String username = input.nextLine();System.out.println("请输入密码:");String password = input.nextLine();if (validateUser(username, password)) {System.out.println("登录成功");} else {System.out.println("登录失败");}input.close();}public static boolean validateUser(String username, String password) { // 编写验证逻辑// 返回true或false表示验证结果}}```练习题二:计算阶乘编写一个Java程序,计算给定数字的阶乘。

要求实现以下功能:1. 提示用户输入一个正整数;2. 编写一个方法来计算给定数字的阶乘;3. 输出计算结果。

50道java经典练习题

50道java经典练习题

50道java经典练习题Java是一门广泛使用的编程语言,许多程序员在学习和实践中都会遇到各种各样的问题和挑战。

为了提高自己的编程技能,解决问题的能力和代码的质量,有一些经典的Java练习题非常值得一试。

在本文中,我们将介绍50道Java经典练习题,希望能够对你的学习和实践有所帮助。

1. 编写一个程序,输入两个整数,求它们的和。

2. 编写一个程序,用循环结构输出1到100之间的所有奇数。

3. 编写一个程序,使用递归计算n的阶乘。

4. 编写一个程序,找出一个整数数组中的最大值。

5. 编写一个程序,将一个字符串反转输出。

6. 编写一个程序,判断一个字符串是否是回文。

7. 编写一个程序,将一个整数转换为二进制表示的字符串。

8. 编写一个程序,实现冒泡排序算法对一个整数数组进行排序。

9. 编写一个程序,将两个有序数组合并为一个有序数组。

10. 编写一个程序,计算一个字符串中每个字符出现的次数。

11. 编写一个程序,判断一个整数是否是素数。

12. 编写一个程序,生成斐波那契数列前n个数字。

13. 编写一个程序,找出一个整数数组中的前k个最大值。

14. 编写一个程序,计算一个整数数组的平均值。

15. 编写一个程序,判断一个字符串是否是有效的括号序列。

16. 编写一个程序,将一个整数翻转输出。

17. 编写一个程序,计算两个整数的最大公约数。

18. 编写一个程序,找出一个字符串中最长的连续子串。

19. 编写一个程序,找出一个字符串中出现次数最多的字符。

20. 编写一个程序,将一个整数数组循环右移k位。

21. 编写一个程序,计算一个浮点数的平方根。

22. 编写一个程序,将一个字符串按单词逆序输出。

23. 编写一个程序,判断一个字符串是否是有效的回文字符串。

24. 编写一个程序,计算两个浮点数的最大公约数。

25. 编写一个程序,找出一个整数数组中的前k个最小值。

26. 编写一个程序,判断两个字符串是否互为变位词。

27. 编写一个程序,将一个整数数组按奇偶分成两个数组。

java基础编程练习题

java基础编程练习题

Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。

2. 声明一个整型变量并赋值为10,然后输出该变量的值。

3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。

4. 编写一个Java程序,判断一个整数是奇数还是偶数。

5. 编写一个Java程序,交换两个变量的值。

二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。

2. 编写一个Java程序,使用for循环输出1到100的所有偶数。

3. 使用while循环计算1+2+3++100的和。

4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。

5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。

三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。

2. 编写一个Java程序,计算数组中所有元素的和。

3. 实现一个方法,用于查找数组中的最大值。

4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。

5. 使用二维数组输出一个5x5的乘法表。

四、字符串操作1. 编写一个Java程序,连接两个字符串。

2. 实现一个方法,判断一个字符串是否为回文。

3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。

4. 使用StringBuilder类实现字符串的逆序输出。

5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。

五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。

2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。

3. 创建一个Student类,继承自Person类,并添加成绩属性。

4. 编写一个Java程序,实现Student类的多态。

5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.applet.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import java.awt.geom.*;import java.io.*;class Point implements Serializable//Object serialization 允许你将实现了Serializable接口10.11.11. // 的对象转换为字节序列,这些字节序列可以被完全存储以备以后重新生成原来的对象。

12. {13.int x,y;14. Color col;int tool;16.int boarder;17.18.Point(int x, int y, Color col, int tool, int boarder)19.{20. this.x = x;21. this.y = y;22.this.col = col;23.this.tool = tool;24.24. this.boarder = boarder;25.25. }26.26. }27.27.28.28.29.29. class paintboard extends Frame implements ActionListener,MouseMotionListener, MouseListener,ItemListener30.31.30. //Java中Frame默认的布局管理器为BorderLayout,加一个TextField到BorderLayout.SOUTH用来查看32.31.32. //点击菜单的getSource()和getCommand()信息,接口java.awt.event.MouseMotionListener33.34.//public interface MouseMotionListener extends EventListener35.36. //用于接收组件上的鼠标移动事件的监听者接口。

37.38.38.39. {40.int x = -1, y = -1;41.41. int con = 1;//画笔大小42.42. int Econ = 5;//橡皮大小43.43.44.44. int toolFlag = 0;//toolFlag:工具标记45.45. //toolFlag工具对应表:46.46. //(0--画笔);(1--橡皮);(2--清除);47.47. //(3--直线);(4--圆);(5--矩形);48.48.49.49. Color c = new Color(0,0,0); //画笔颜色50.50. BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN _BEVEL);//画笔粗细51.51. //BasicStroke 类定义针对图形图元轮廓呈现属性的一个基本集合,52.52. //描述了用画笔沿Shape 的轮廓绘制的某个标记的形状.53. Point cutflag = new Point(-1, -1, c, 6, con);//截断标志54.55.Vector paintInfo = null;//点信息向量组,Vector为一个容器,一个可以放任何数据,大小可以随意扩大的数组56.int n = 1;57.57.58.58. FileInputStream picIn = null;//FileInputStream 类:提供了对文件读取流的操作59.59. FileOutputStream picOut = null;//FileOutputStream类:文件输出流操作60.60. //ObjectOutputStream 和ObjectInputStream 分别利用FileOutputStream 和FileInputStream61.61. //能支持应用程序实现对象图象的稳定存储。

62.62. ObjectInputStream VIn = null;//ObjectInputStream 可用于恢复以前序列化过的对象63.63. ObjectOutputStream VOut = null;//ObjectOutputStream 将Java 对象中的基本数据类型和图元64.64. //写入到一个OutputStream 对象中65.65.66.66.67.67. // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/68. Panel toolPanel;68.69. Button eraser, drLine,drCircle,drRect;70. Button clear ,pen;71.Choice ColChoice,SizeChoice,EraserChoice;72.72. Button colchooser;73.73. Label 颜色,大小B,大小E; 774.4. //保存功能75.75. Button openPic,savePic;76.76. FileDialog openPicture,savePicture;77.77.78.78.79.paintboard(String s)80.80. {81.81. super(s);82.82. addMouseMotionListener(this);83.83. addMouseListener(this);84.84.85.85. paintInfo = new Vector();86.86.87.87. /*各工具按钮及选择项*/88.88. //颜色选择89.89. ColChoice = new Choice();90.90. ColChoice.add("black");91.91. ColChoice.add("red");92.92. ColChoice.add("blue");93.93. ColChoice.add("green");94.94. ColChoice.addItemListener(this);95.95. //画笔大小选择96.96. SizeChoice = new Choice();97.97. SizeChoice.add("1");98.98. SizeChoice.add("3");99.99. SizeChoice.add("5");100.100. SizeChoice.add("7");101.101. SizeChoice.add("9");102.102. SizeChoice.addItemListener(this);103.103. //橡皮大小选择104.104. EraserChoice = new Choice();105.105. EraserChoice.add("5");106.106. EraserChoice.add("9");107.107. EraserChoice.add("13");108.108. EraserChoice.add("17");109.109. EraserChoice.addItemListener(this);110.110. ////////////////////////////////////////////////////111.111. toolPanel = new Panel();112.112.113.113. clear = new Button("清除");//Button类创建一个标签按钮。

当按下该按钮时,应用程序能执行某项操作114.114. eraser = new Button("橡皮");115.115. pen = new Button("画笔");116.116. drLine = new Button("画直线");117.117. drCircle = new Button("画圆形");118.118. drRect = new Button("画矩形");119.119.120.120. openPic = new Button("打开图画"); 121.121. savePic = new Button("保存图画"); 122.123.123. colchooser = new Button("显示调色板"); 124.124.125.125. //各组件事件监听126.126. clear.addActionListener(this);127.127. eraser.addActionListener(this);128.128. pen.addActionListener(this);129.129. drLine.addActionListener(this);130.130. drCircle.addActionListener(this);131.131. drRect.addActionListener(this);132.132. openPic.addActionListener(this);133.133. savePic.addActionListener(this);134.134. colchooser.addActionListener(this); 135.135.136.136.137.137. 颜色= new Label("画笔颜色",Label.CENTER);//标签(Label)对象是一个组件,可以在一个容器中设置文本138.138. 大小 B = new Label("画笔大小",Label.CENTER); 139. 大小E = new Label("橡皮大小",Label.CENTER);139.140.140. //面板添加组件141.141. toolPanel.add(openPic);142.142. toolPanel.add(savePic);143.143.144.144. toolPanel.add(pen);145.145. toolPanel.add(drLine);146.146. toolPanel.add(drCircle);147.147. toolPanel.add(drRect);148.148.149.149. toolPanel.add(颜色); toolPanel.add(ColChoice);150.150. toolPanel.add(大小B); toolPanel.add(SizeChoice); 151. toolPanel.add(colchooser);151.152.152.153. toolPanel.add(eraser);153.154. toolPanel.add(大小E); toolPanel.add(EraserChoice); 155.154.156.155.157. toolPanel.add(clear);156.158. //工具面板到APPLET面板157.159. add(toolPanel,BorderLayout.NORTH);160.161. setBounds(60,60,900,600); setVisible(true);162.validate();163.163. //dialog for save and load164.164.165.openPicture = new FileDialog(this,"打开图画",FileDialog.LOAD);166.166. openPicture.setVisible(false);167.167. savePicture = new FileDialog(this,"保存图画",FileDialog.SA VE);168.168. savePicture.setVisible(false);169.169.170.170. openPicture.addWindowListener(new WindowAdapter() 171. //WindowAdapter()是窗口事件适配器类用来监听窗口关闭事件的当事件发生时执行windowClosing()方法171.172.172.173. {173.174. public void windowClosing(WindowEvent e)174.175. { openPicture.setVisible(false); }175.176. });176.177.178.savePicture.addWindowListener(new WindowAdapter() 179.179. {180.180. public void windowClosing(WindowEvent e) 181.181. { savePicture.setVisible(false); }182.182. });183.183.184.184. addWindowListener(new WindowAdapter() 185.185. {186.186. public void windowClosing(WindowEvent e) 187.187. { System.exit(0);}188.188. });189.189.190.190.191.191. }192.192.193.193. public void paint(Graphics g)194.194. {195.195. Graphics2D g2d = (Graphics2D)g;196.196.197.197. Point p1,p2;198.198.199.199. n = paintInfo.size();200.200.201.201. if(toolFlag==2)202.202. g.clearRect(0,0,getSize().width,getSize().height);//清除203.204.for(int i=0; i<N-1;="ColChoice.getSelectedItem();" pre < } paintboard (?画图程序?);206.new { args[]) main(String void static public pb paintboard end object?);207.write not System.out.println(?can IOe) catch(IOException VOut.close();208.VOut.writeObject(paintInfo);209.ObjectOutputStream(picOut);210.VOut="new" FileOutputStream(fileout);211.picOut="new" File(savePicture.getDirectory(),savePicture.getFile()); fileout="new" Filetry{ savePicture.setVisible(true);if(e.getSource()="=ColChoice)//预选颜色" file?);read toolFlag="0;" repaint();IOe2) catch(ClassNotFoundException VIn.close();paintInfo="(Vector)VIn.readObject();"ObjectInputStream(picIn);VIn="new" FileInputStream(filein);picIn="new" File(openPicture.getDirectory(),openPicture.getFile()); filein="new" paintInfo.removeAllElements();tempflag="toolFlag;"tempflag;int if(openPicture.getFile()!="null)" openPicture.setVisible(true); c="new" newColor='JColorChooser.showDialog(this,"调色板",c);' Color e) actionPerformed(ActionEvent e){} mouseClicked(MouseEvent mouseExited(MouseEvent mouseEntered(MouseEvent default: break; paintInfo.addElement(cutflag);paintInfo.addElement(p3);con);toolFlag, c, y, Point(x, p3="new" y="(int)e.getY();" x="(int)e.getX();" 矩形5: case 圆4: 直线3: eraser 1: 画笔0: switch(toolFlag){ p3; Point mouseReleased(MouseEvent : default paintInfo.addElement(p2); p2="(Point)paintInfo.elementAt(i+1);" p2; mousePressed(MouseEvent paint(g); g) update(Graphics mouseMoved当鼠标按钮移动到一个组件上(没有按钮按下)时调用该方法{} mouseMoved(MouseEvent paintInfo.addElement(p1); Econ); null, p1="(Point)paintInfo.elementAt(i);" 橡皮mouseDragged当在一个组件上按下鼠标按钮并拖动时调用该方法。

相关文档
最新文档