java实验二附答案

合集下载

Java+2实用教程(第4版)实验指导与习题解答 - IT168文库

Java+2实用教程(第4版)实验指导与习题解答 - IT168文库

Java+2实用教程(第4版)实验指导与习题解答 - IT168文库上机实践1初识Java实验1 一个简单的应用程序1.相关知识点Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。

目前,随着网络的迅速发展,Java语言的优势越发明显,Java已经成为网络时代最重要的语言之一。

Sun公司要实现“编写一次,到处运行”(Write once,run anywhere)的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。

(1)Java SE:称为Java标准版或Java 标准平台。

Java SE 提供了标准的JDK开发平台。

利用该平台可以开发 Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。

当前成熟的新的JDK版本为JDK 1.6。

(2)Java EE:称为Java企业版或Java企业平台。

使用J2EE可以构建企业级的服务应用,Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。

(3)Java ME:称为Java微型版或Java小型平台。

Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。

无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine),虚拟机负责将字节码文件(包括程序使用的类库中的字节码)加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句。

J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的。

2.实验目的本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。

3.实验要求编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,欢迎学习Java”和“We are students”。

java语言二级考试及答案

java语言二级考试及答案

java语言二级考试及答案1. 以下哪个选项是Java语言中正确的数据类型?A. 整型B. 字符串C. 布尔型D. 所有选项答案:D2. Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A3. 在Java中,以下哪个选项不是控制流语句?A. ifB. switchC. forD. try答案:D4. Java中,以下哪个选项是用于抛出异常的关键字?A. throwB. catchC. finallyD. try答案:A5. 在Java中,以下哪个选项是用于声明一个接口的关键字?A. classB. structC. interfaceD. enum答案:C6. Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. global答案:D7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:B8. Java中,以下哪个选项不是集合框架中的接口?A. ListB. SetC. MapD. Array答案:D9. 在Java中,哪个关键字用于创建一个新的对象实例?A. newB. createC. instanceD. object答案:A10. Java中,以下哪个选项不是多线程编程的关键字?A. synchronizedB. volatileC. threadD. concurrent答案:D。

java二级 试题及答案

java二级 试题及答案

java二级试题及答案一、选择题1.下列哪个选项用于创建一个类的实例?A. newB. thisC. finalD. void2.以下哪个关键字用于定义一个类的方法可以被子类重写?A. publicB. finalC. staticD. abstract3.以下哪个关键字用于定义一个类的成员变量可以被子类直接访问?A. privateB. protectedC. staticD. transient4.下列哪个选项是Java的基本数据类型?A. StringB. IntegerC. BooleanD. Double5.以下哪个选项是Java中的循环结构?A. forB. ifC. switchD. try二、填空题1. 声明一个整型变量并将其初始化为10:int num = _________ ;2. 定义一个常量并赋值为3.14:final double PI = _________ ;3. 定义一个字符串变量,并将其初始化为空串:String str =_________ ;4. 声明一个布尔变量并将其初始化为真:boolean flag = _________ ;5. 将两个整数相加并将结果赋值给一个整型变量:int sum =_________ + _________ ;三、编程题1. 编写一个Java程序,实现输入一个整数n,并输出1到n之间所有偶数的和。

示例输入:10示例输出:302. 编写一个Java程序,实现输入一个字符串,判断该字符串是否是回文串(正序和反序读都一样)。

示例输入:radar示例输出:是回文串3. 编写一个Java程序,实现输入一个整数n,并输出斐波那契数列的前n项。

示例输入:5示例输出:0 1 1 2 3四、简答题1. 什么是Java的面向对象特性?举例说明面向对象编程的好处。

2. Java中的继承和多态的概念分别是什么?它们如何实现面向对象的特性?3. Java中的异常处理机制是什么?说明try-catch-finally语句的作用和使用方法。

Java 2实验代码及答案

Java 2实验代码及答案

Java 2实用教程(第三版)实验指导与习题解答清华大学出版社(编著耿祥义张跃平)实验模版代码及答案建议使用文档结构图(选择Word菜单→视图→文档结构图)上机实践1 初识JA V A (4)实验1一个简单的应用程序 (4)实验2一个简单的J A V A A PPLET程序 (4)实验3联合编译 (5)上机实践2 基本数据类型与控制语句 (6)实验1输出希腊字母表 (6)实验2回文数 (7)实验3猜数字游戏 (9)上机实践3 类与对象 (10)实验1三角形、梯形和圆形的类封装 (10)实验2实例成员与类成员 (14)实验3使用PACKAGE语句与IMPORT语句 (15)上机实践4 继承与接口 (17)实验1继承 (17)实验2上转型对象 (20)实验3接口回调 (22)上机实践5 字符串、时间与数字 (24)实验1S TRING类的常用方法 (24)实验2比较日期的大小 (25)实验3处理大整数 (26)上机实践6 组件及事件处理 (27)实验1算术测试 (27)实验2信号灯 (30)实验3布局与日历 (33)上机实践7 组件及事件处理2 (36)实验1方程求根 (36)实验2字体对话框 (39)实验3英语单词拼写训练 (42)上机实践8 多线程 (46)实验1汉字打字练习 (46)实验2旋转的行星 (49)实验3双线程接力 (52)上机实践9 输入输出流 (55)实验1学读汉字 (55)实验2统计英文单词字 (58)实验2读取Z IP文件 (62)上机实践10 JAV A 中的网络编程 (63)实验1读取服务器端文件 (63)实验2使用套接字读取服务器端对象 (65)实验3基于UDP的图像传输 (68)上机实践11 数据结构 (72)实验1扫雷小游戏 (72)实验2排序与查找 (77)实验3使用T REE S ET排序 (78)上机实践12 JAV A SWING (80)实验1JL AYERED P ANE分层窗格 (80)实验2使用表格显示日历 (81)实验3多文档界面(MDI) (84)上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println("你好,很高兴学习Java") ;【代码2】:System.out.println("We are students") ;2.模板代码Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString("这是一个Java Applet 程序",10,30);【代码2】:g.drawString("我改变了字体",20,50);2.模板代码FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}实验3 联合编译1.答案:【代码1】:System.out.println("你好,只需编译我");【代码2】:System.out.println("I am A");【代码3】:System.out.println("I am B");【代码4】:System.out.println("I am C");2.模板代码模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}上机实践2 基本数据类型与控制语句实验1 输出希腊字母表1.答案:【代码1】:startPosition=(int)cStart;【代码2】:endPosition=(int)cEnd ;【代码3】:c=(char)i;2.模板代码GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}实验2 回文数1.答案:【代码1】:number<=99999&&number>=1【代码2】:d5=number/10000;【代码3】:d4=number%10000/1000;【代码4】:【代码5】:【代码6】:【代码7】:【代码8】:【代码9】:【代码10】:2.模板代码Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");number=Integer.parseInt(str);if(number<=99999&&number>=1) //判断number在1至99999之间的条件{d5=number/10000;//计算number的最高位(万位)d5d4=number%10000/1000;//计算number的千位d4d3=number%1000/100;//计算number的百位d3d2=number%100/10;d1=number%10;if(d5!=0) //判断number是5位数的条件{System.out.println(number+"是5位数");if(d1==d5&&d2==d4) //判断number是回文数的条件System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d4!=0) //判断number是4位数的条件{System.out.println(number+"是4位数");if(d1==d4&&d2==d3) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d3!=0) //判断number是3位数的条件{System.out.println(number+"是3位数");if(d1==d3) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}elseSystem.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}实验3 猜数字游戏1.答案:【代码1】:【代码2】:【代码3】:2.模板代码GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(yourGuess!=realNumber) //循环条件{if(yourGuess>realNumber) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}else if(yourGuess<realNumber ) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}上机实践3 类与对象实验1 三角形、梯形和圆形的类封装1.答案:【代码1】:sideA=a;sideB=b;sideC=c;【代码2】:a+b>c&&a+c>b&&c+b>a【代码3】:boo=true;【代码4】:boo=false;【代码5】:if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}【代码6】:sideA=a;sideB=b;sideC=c;【代码7】:a+b>c&&a+c>b&&c+b>a【代码8】:boo=true;【代码9】:boo=false;【代码10】:above=a;bottom=b;height=h;【代码11】:area=(above+bottom)/2*height;return area;【代码12】:radius=r;【代码13】:return 3.14*radius*radius;【代码14】:return 3.14*2*radius;【代码15】:circle=new Circle(10);【代码16】:trangle=new Trangle(3,4,5);【代码17】:lader=new Lader(3,4,10);【代码18】:length=circle.getLength();【代码19】:area=circle.getArea();【代码20】:length=trangle.getLength();【代码21】:area=trangle.getArea();【代码22】:area=lader.getArea();【代码23】:trangle.setABC(12,34,1);【代码24】:area=trangle.getArea();【代码25】:length=trangle.getLength();2.模板代码AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。

Java语言实验报告二答案

Java语言实验报告二答案

《Java语言与面向对象程序设计基础》课程实验报告二姓名:****学号:******************实验题1[实验要求]给以下程序添加输出语句,以显示各种参数值及其传递关系画出参数传递的内存图[实验程序]public class Ex2_1 {public static void main(String[] args){MyDate m1 = new MyDate(1, 9, 1966);MyDate m2 = m1.addDays(7);m2.print();}}源文件:MyDate.javapublic class MyDate {private int day = 1;private int month = 1;private int year = 2000;public void print(){System.out.println( day + "-" + month + "-" + year);}public MyDate(int day, int month, int year) {this.day = day;this.month = month;this.year = year;}public MyDate(MyDate date) {this.day = date.day;this.month = date.month;this.year = date.year;}public MyDate addDays(int date) {MyDate n= new MyDate(this);n.day = n.day + date;return n;}[运行结果][实验结论与收获]了解了什么是类、类基本格式,对象以及构造方法实验题2[实验要求]修改程序,使得在子类中可以对两个f分别进行赋值和显示操作记录调试过程、步骤、程序和运行结果[实验程序]class Parent{public int f;public void setF(int a){ f=a; }public int getF( ) { return f; }}public class Child extends Parent{public int f;public double d;public static void main(String [] args){Child c = new Child();c.f=100;c.setF(30);System.out.println(" Parent: " + c.getF());System.out.println(" Child: " + c.f);}}[运行结果][实验结论与收获]学会修改程序,分别对F进行赋值和显示操作实验题3[实验要求]完成程序,使用super创建重写的方法调试并记录结果[实验程序]public class Employee {public String name="zhang";public double salary=2000;public String getDetails() {return " Name:" + name + "\n" + " Salary:" + salary;}}public class Manager extends Employee {public String department="Office";public String getDetails() {return super.getDetails() + "\n" + " Department: " + department;}}public class Ex2_3{public static void main(String args[ ]) {Employee e = new Employee();Manager m = new Manager();System.out.println("Employee:"+"\n" +e.getDetails());System.out.println("Manager:"+"\n" +m.getDetails());}}[运行结果][实验结论与收获]学会super的创建使用方法实验题4[实验要求]修改并完成程序说明程序错在哪里,如何修改调试并记录结果[实验程序]class Parent {public void doSomething() { }}class Child extends Parent {public void doSomething() { }}public class Ex2_4 {public static void main(String args[]) { Parent p1 = new Parent();Parent p2 = new Child();p1.doSomething();p2.doSomething();}}[运行结果][实验结论与收获]错误出在private void doSomething() { }修改正确的public void doSomething() { } 调试语句public static void main(String args[]) {实验题5[实验要求]执行程序记录程序结果[实验程序]class Count {public static int counter;static {counter = 100;System.out.println("in static block!");}}public class Ex2_5 {public static void main(String[] args) {System.out.println("counter = "+ Count.counter);}}[运行结果][实验结论与收获]执行程序得到正确结果实验题6[实验要求]将程序1 Parent类和程序2 Child类存于同一包(目录)中,并调试程序,记录结果。

java2实用教程实验代码及答案

java2实用教程实验代码及答案

上机实践1 初识JA V A (3)实验1一个简单的应用程序 (3)实验2一个简单的J A V A A PPLET程序 (3)实验3联合编译 (4)上机实践2 基本数据类型与控制语句 (5)实验1输出希腊字母表 (5)实验2回文数 (6)实验3猜数字游戏 (8)上机实践3 类与对象 (9)实验1三角形、梯形和圆形的类封装 (9)实验2实例成员与类成员 (12)实验3使用PACKAGE语句与IMPORT语句 (14)上机实践4 继承与接口 (16)实验1继承 (16)实验2上转型对象 (19)实验3接口回调 (21)上机实践5 字符串、时间与数字 (23)实验1S TRING类的常用方法 (23)实验2比较日期的大小 (24)实验3处理大整数 (25)上机实践6 组件及事件处理 (26)实验1算术测试 (26)实验2信号灯 (29)实验3布局与日历 (31)上机实践7 组件及事件处理2 (35)实验1方程求根 (35)实验2字体对话框 (38)实验3英语单词拼写训练 (41)上机实践8 多线程 (45)实验1汉字打字练习 (45)实验2旋转的行星 (47)实验3双线程接力 (51)上机实践9 输入输出流 (54)实验1学读汉字 (54)实验2统计英文单词字 (57)实验2读取Z IP文件 (61)上机实践10 JAV A 中的网络编程 (62)实验1读取服务器端文件 (62)实验2使用套接字读取服务器端对象 (64)实验3基于UDP的图像传输 (67)上机实践11 数据结构 (71)实验1扫雷小游戏 (71)实验2排序与查找 (76)实验3使用T REE S ET排序 (77)上机实践12 JAV A SWING (79)实验1JL AYERED P ANE分层窗格 (79)实验2使用表格显示日历 (80)实验3多文档界面(MDI) (83)上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println("你好,很高兴学习Java") ;【代码2】:System.out.println("We are students") ;2.模板代码Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString("这是一个Java Applet 程序",10,30);【代码2】:g.drawString("我改变了字体",20,50);2.模板代码FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}实验3 联合编译1.答案:【代码1】:System.out.println("你好,只需编译我");【代码2】:System.out.println("I am A");【代码3】:System.out.println("I am B");【代码4】:System.out.println("I am C");2.模板代码模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}上机实践2 基本数据类型与控制语句实验1 输出希腊字母表1.答案:【代码1】:startPosition=(int)cStart;【代码2】:endPosition=(int)cEnd ;【代码3】:c=(char)i;2.模板代码GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}实验2 回文数1.答案:【代码1】:number<=99999&&number>=1【代码2】:d5=number/10000;【代码3】:d4=number%10000/1000;【代码4】:d3=number%1000/100;【代码5】:d5!=0【代码6】:d1==d5&&d2==d4【代码7】:d4!=0【代码8】:d1==d4&&d2==d3【代码9】:d3!=0【代码10】:d1==d32.模板代码Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");number=Integer.parseInt(str);if(【代码1】) //判断number在1至99999之间的条件{【代码2】//计算number的最高位(万位)d5【代码3】//计算number的千位d4【代码4】//计算number的百位d3d2=number%100/10;d1=number%10;if(【代码5】) //判断number是5位数的条件{System.out.println(number+"是5位数");if(【代码6】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码7】) //判断number是4位数的条件{System.out.println(number+"是4位数");if(【代码8】) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码9】) //判断number是3位数的条件{System.out.println(number+"是3位数");if(【代码10】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}实验3 猜数字游戏1.答案:【代码1】:yourGuess!=realNumber【代码2】:yourGuess>realNumber【代码3】:yourGuess<realNumber2.模板代码GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(【代码1】) //循环条件{if(【代码2】) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}else if(【代码3】) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}上机实践3 类与对象实验1 三角形、梯形和圆形的类封装1.答案:【代码1】:sideA=a;sideB=b;sideC=c;【代码2】:a+b>c&&a+c>b&&c+b>a【代码3】:boo=true;【代码4】:boo=false;【代码5】:if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}【代码6】:sideA=a;sideB=b;sideC=c;【代码7】:a+b>c&&a+c>b&&c+b>a【代码8】:boo=true;【代码9】:boo=false;【代码10】:above=a;bottom=b;height=h;【代码11】:area=(above+bottom)/2*height;return area;【代码12】:radius=r;【代码13】:return 3.14*radius*radius;【代码14】:return 3.14*2*radius;【代码15】:circle=new Circle(10);【代码16】:trangle=new Trangle(3,4,5);【代码17】:lader=new Lader(3,4,10);【代码18】:length=circle.getLength();【代码19】:area=circle.getArea();【代码20】:length=trangle.getLength();【代码21】:area=trangle.getArea();【代码22】:area=lader.getArea();【代码23】:trangle.setABC(12,34,1);【代码24】:area=trangle.getArea();【代码25】:length=trangle.getLength();2.模板代码AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。

java实验二附答案

java实验二附答案

Java实验二实验二类与对象实验目的1、掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;2、掌握修饰符和构造方法的使用规则;3、掌握接口的特点、结构、调用和继承;4、掌握如何创建包,通过包如何管理类;5、掌握Java的继承机制和实现多态的方法实验内容(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。

通过实例验证编程无误。

(2)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形的面积。

通过实例验证编程无误。

(3)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。

根据上述要求,请完成以下Java类的设计:(i)设计一个基类Student描述学生的共同特征。

(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。

(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。

(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息附实验一名称是Java语言基础实验报告分为以下几个部分一实验名称二实验目的三实验仪器四实验步骤(把你的操作一步一步写清楚,java 程序代码要写)五实验结果(程序运行后的结果就是DOS环境下运行出来的结果写在实验报告上)六实验讨论(实验过程中的错误及如何改正,你的心得体会等)答案:(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

java实验报告实验2答案

java实验报告实验2答案

实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet{Label l1;Button b1, b2, b3, b4, b5, b6;public void init(){setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格)l1=new Label("标签1");b1 = new Button("按钮1");b2 = new Button("按钮2");b3 = new Button("按钮3");b4 = new Button("按钮4");add(l1);add(b1);add(b2);add(b3);add(new Label());add(b4);add(new Button("按钮5"));add( new Button("按钮6"));add(new Label("标签2"));}}(3)编译程序LX6_1.java。

java二级试题及答案

java二级试题及答案

java二级试题及答案一、选择题(每题2分,共10题,共计20分)1. 下面哪个选项不是Java关键字?A. classB. packageC. finalD. import2. 下面哪种循环语句可以用于遍历数组或集合?A. forB. whileC. do-whileD. switch3. Java中的包(package)用于什么目的?A. 控制类的访问权限B. 封装类的属性和方法C. 组织类的层次结构D. 使类具有继承特性4. 在Java中,以下哪个关键字用于定义一个类的子类?A. superB. thisC. extendsD. implements5. 下面哪个选项不是Java中的访问修饰符?A. privateB. protectedC. publicD. static6. 在Java中,以下哪个方法用于启动一个新的线程?A. start()B. run()C. execute()D. launch()7. 在Java中,以下哪个异常类是所有异常的父类?A. ExceptionB. RuntimeExceptioinC. ErrorD. Throwable8. 在Java中,以下哪个关键字用于定义常量?A. varB. constC. finalD. static9. 在Java中,以下哪种集合类用于存储键值对?A. ArrayListB. HashSetC. LinkedListD. HashMap10. 下面哪个选项不是Java中的基本数据类型?A. intB. doubleC. booleanD. string二、填空题(每空2分,共5题,共计10分)1. Java中的数据类型分为两类,分别为基本数据类型和_____________。

2. Java中的三目运算符的格式是_____________。

3. 在Java中,方法的重载是指在同一个类中,方法名相同但参数类型或个数_____________的情况下可以存在多个方法。

java实验2报告答案

java实验2报告答案

实验内容1 输出俄文字母表1)实验目的本实验的目的是让同学们掌握char类型数据和int类型数据之间的相互转换,同时了解unicode 字符表。

2)实验要求编写一个 java应用程序,该程序在命令行窗口输出俄文字母表。

3)实验内容➢【代码1】、【代码2】和【代码3】分别是什么?【代码1】:startPosition=(int)'а';【代码2】:endPosition=(int)'я';【代码3】:c=(char)i;➢将一个float类型数据直接赋值给int类型变量,程序编译时提示怎样的错误?为什么?提示“可能损失精度”,因为float是单精度浮点型,取值范围远大于int整型变量,如果用int输出会损失小数点后边的数字。

➢语句byte x=128;能通过编译吗?为什么?不能。

因为byte类型变量的取值范围是-128到127,输入的128超过了范围。

➢int x=(byte)128;程序输出变量x的值是多少?为什么?输出x=-128。

因为byte类型变量的取值范围是-128到127,输入x=128超出了byte类型变量的范围。

实验内容2 从键盘输入数据1)实验目的本实验的目的是让同学们掌握从键盘输入基本类型的数据。

2)实验要求编写一个java 应用程序,用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。

3)实验内容➢【代码1】、【代码2】和【代码3】分别是什么?【代码1】:a=reader.nextFloat();【代码2】:System.out.println("b="+b);【代码3】:System.out.println("c="+c);➢程序运行时,用户从键盘输入abc,程序提示怎样的错误?为什么?输入的abc是一个字符串,不是浮点型变量。

扩展实验内容数组1)实验目的本实验的目的是让同学们掌握一维数组的深拷贝与二维数组的创建与应用。

Java程序设计教程与实训(第2版):实训参考答案

Java程序设计教程与实训(第2版):实训参考答案

实训参考答案【实训内容】见第十章。

【参考答案】10.1 //////////////////////////////////////////////////////////public class Exer10_1{public static void main(String [] args){//System.out.print("Hello "); //第一次运行//System.out.print("Hello \n"); //第二次运行System.out.print("Hello\n李明"); //第二次运行也可以这样写//System.out.print("李明");}}10.2 //////////////////////////////////////////////////////////public class Exer10_2 {public static void main (String args[ ]) {char chinaWord='你', japanWord='ぁ';int p1=20328,p2=12358;System.out.println("汉字\'你\'字在unicode表中的顺序位置:"+(int)chinaWord);System.out.println("日语\'ぁ\'字在unicode表中的顺序位置:"+(int)japanWord);System.out.println("unicode表中第20328位置上的字符是:"+(char)p1);System.out.println("unicode表中第12358位置上的字符是:"+(char)p2);}}10.3(1) //////////////////////////////////////////////////////////public class Exer10_3_1{public static void main(String[] args){int val1=5;int val2=6;int result=0;char op='-';switch(op){case '+' :result=val1+val2;break;case '-' :result=val1-val2;break;case '*' :result=val1*val2;break;case '/' :result=val1/val2;break;case '%' :result=val1%val2;default :System.out.println("没有找到匹配的操作符");}System.out.println("计算结果为:"+val1+op+val2+"="+result);}}(2) //////////////////////////////////////////////////////////class Exer10_3_2{public static void main(String args[]) {int sum=0,i,j;for( i=1;i<=50;i++){ //计算1+3+5+7+9…if(i%2==0){continue;}sum=sum+i;}System.out.println("sum="+sum);for( j=2;j<=50;j++){ //求50以内的素数for( i=2;i<=j/2;i++){if(j%i==0){break;}}if(i>j/2){System.out.println(""+j+"是素数");}}}}10.4 /////////////////////////////////////public class Exer10_4 {public static void main(String args[]) {System.out.println(dengcha(3));System.out.println(dengcha(5));System.out.println(dengcha(10));}public static int dengcha(int n) {return 1+(n-1)*4;}}10.5 ///////////////////////////////class Computer {private String pc_name; //计算机品牌private String pc_color; //计算机颜色private String pc_type; //CPU型号private String pc_ram; //内存容量private String pc_harddisk; //硬盘容量private int pc_price; //价格private String pc_state; //工作状态public Computer() //默认构造函数,不带参数{ pc_name=""; //计算机品牌pc_color=""; //计算机颜色pc_type=""; //CPU型号pc_ram=""; //内存容量pc_harddisk=""; //硬盘容量pc_price=0; //价格pc_state=""; //计算机状态}public Computer(String aname,String acolor,String atype,String aram,String aharddisk,int aprice,String astate)//带参数的构造函数{ pc_name=aname; //计算机品牌初值pc_color=acolor; //计算机颜色初值pc_type=atype; //CPU型号初值pc_ram=aram; //内存容量初值pc_harddisk=aharddisk; //硬盘容量初值pc_price=aprice; //价格初值pc_state=astate; //计算机状态初值}void setcomputer(String aname,String acolor,String atype,String aram,String aharddisk,int aprice,String astate)//设置属性值的方法{ pc_name=aname; //计算机品牌pc_color=acolor; //计算机颜色pc_type=atype; //CPU型号pc_ram=aram; //内存容量pc_harddisk=aharddisk; //硬盘容量pc_price=aprice; //价格pc_state=astate; //计算机状态}void setstate(String astate) //设置状态属性的方法{ pc_state=astate;}void setram(String aram) //设置内存属性的方法{ pc_ram=aram;}public String pc_open() //定义计算机打开的方法{ setstate("打开");System.out.println(pc_name+"_工作状态:"+pc_state);System.out.println(" * ");System.out.println(" * * * ");System.out.println("* * * * *");System.out.println("-------------------");return pc_state;}public String pc_close() //定义计算机关闭的方法{ setstate("关闭");System.out.println(pc_name+"_工作状态:"+pc_state);System.out.println("请稍后,正在关闭计算机");System.out.println("-------------------");return pc_state;}public String pc_hitch() //定义计算机挂起的方法{ setstate("挂起");System.out.println(pc_name+"_工作状态:"+pc_state);System.out.println("启动计算机请按Ctrl+Alt+Delete键");System.out.println("-------------------");return pc_state;}void printcomputer() //输出的方法{ if(pc_price>0)System.out.println("计算机品牌:"+pc_name+" 颜色:"+pc_color+" CPU型号:"+pc_type+" 内存容量:"+pc_ram+"\n硬盘容量:"+pc_harddisk+" 价格:"+pc_price+" 工作状态:"+pc_state);elseSystem.out.println("计算机品牌: 未知"+" 工作状态:"+pc_state);System.out.println("---------------------------------");}}class Mycomputer {public static void main(String[] args) {Computer stu1=new Computer(); //创建计算机类的对象stu1;//调用方法setcomputer设置计算机信息stu1.setcomputer("Dell","黑","PentiumⅣ","256k","20G",7096," 良好");stu1.printcomputer(); //输出计算机的信息Computer stu2=new Computer(); //创建计算机类的对象stu2;stu2.setcomputer("联想","黑","PentiumⅣ","512k","40G",7296," 良好");stu2.printcomputer(); //输出计算机的信息stu1.pc_open();stu2.pc_close();stu1.pc_hitch();stu2.setram("1024");stu1.printcomputer(); //输出计算机的信息stu2.printcomputer(); //输出计算机的信息Computer stu3=new Computer();stu3.setstate("打开");stu3.printcomputer(); //输出计算机的信息}}10.6 //////////////////////////////////package mypackage.factorial;class Factorial{private int n;public Factorial(int n){this.n=n;}private boolean testN(int n){if (n>=0){return true;}else{System.out.println("请输入非负数!");return false;}}public int Factorial(int n) {if (n==0) return 1;return n*Factorial(n-1);}public void print(){if (testN(n)) System.out.println(n+"!="+Factorial(n));}}////////////////////////////////////////////////////////////////////package mypackage.test;import mypackage.factorial.Factorial;class TestFactorial {public static void main(String [] args) {int n=Integer.parseInt(args[0]);Factorial f=new Factorial(n);f.print();}}10.7(1) //////////////////////////////////////////////////////////class Employee {int id;private String name;public void setId(int id) {this.id=id;}public void setName(String name) {=name;}}class Manager extends Employee{public void setId(byte id){this.id=id;}private int departmentID;public void setDepartmentID(int id) {departmentID=id;}}public class ExtendsExam1 {public static void main(String [] args) {Employee e=new Manager();}}(2) //////////////////////////////////////////////////////////class A{static int a=10;static int id=1;static String go(){return "20";}public static String fun(){return "20";}}class B extends A{}public class ExtendsExam2{public static void main(String [] args) {Employee e=new Manager();System.out.println("B.a="+B.a);System.out.println("B.id="+B.id);System.out.println("B.go()="+B.go());System.out.println("B.fun="+B.fun());}}(3) //////////////////////////////////////////////////////////class SuperClass {int x;SuperClass( ) {x=3;System.out.println("in SuperClass : x=" +x);}void doSomething( ){System.out.println(" in SuperClass.doSomething()");}}class SubClass extends SuperClass{int x;SubClass( ) {super( );x=5;System.out.println(" in SubClass :x=" +x);}void doSomething( ) {super.doSomething( );System.out.println(" in SubClass.doSomething()");System.out.println(" super.x="+super.x+" sub.x="+x);}}public class ExtendsExam3 {public static void main(String args[]) {SubClass sub=new SubClass();sub.doSomething();}}10.8(1) //////////////////////////////////////////////////////////class MethodOverload{void receive(int i) {System.out.println("excuted receive(int i)");}void receive(int x, int y) {System.out.println("excuted receive(int x, int y)");}void receive(double d) {System.out.println("excuted receive(double d)");}void receive(String s) {System.out.println("excuted receive(String s)");}}public class MethodOverloadExam1 {public static void main(String args[]) {MethodOverload mo=new MethodOverload();mo.receive(1);mo.receive(2,3);mo.receive(12.56);mo.receive("very interesting, isn’t it?");}}(2) //////////////////////////////////////////////////////////public class xEmployee { //一个构造函数使用另一个构造函数的某方面效果String name;int salary;public xEmployee(String s, int n) {name = s;salary = n;}public xEmployee(String s){this(s, 0);//……// this调用必须作为构造方法中第一个语句}public xEmployee(int n){this("Unknown", n);//……// this调用必须作为构造方法中第一个语句}public xEmployee(){this( "Unknown" );//……// this调用必须作为构造方法中第一个语句}public static void main(String [] args) {xEmployee s1=new xEmployee ("欧阳振国",5200);xEmployee s2=new xEmployee ("欧阳振国");xEmployee s3=new xEmployee (6000);xEmployee s4=new xEmployee ();System.out.println( +"---"+s1.salary);System.out.println( +"---"+s2.salary);System.out.println( +"---"+s3.salary);System.out.println( +"---"+s4.salary);}}(3) //////////////////////////////////////////////////////// 错误原因:SubClass中的fun() 无法覆盖SuperClass中的fun(),被覆盖的方法为final ////////////////////////////////////////////////////////////class SuperClass {int i=1;public final int fun() {return 1;}public void go() {System.out.println(fun());}}class SubClass extends SuperClass {int i=2;public int fun() {return 2;}}public class MethodOverrideExma{public static void main(String [] args) {SuperClass s=new SubClass();s.go();}}10.9(1) ///////////////////////////////////////////////interface A{}interface B{}interface C extends A{}interface D extends A,B,C{}(2) ///////////////////////////////////////////////interface V olume{double calculateV olume();}class Circle implements V olume{double r;public Circle(double r){this.r=r;}public double calculateV olume(){return 3.14*r*r*r;}}class Rectangle implements V olume{double l,w,h;public Rectangle(double l,double w,double h){this.l=l;this.w=w;this.h=h;}public double calculateV olume(){return l*w*h;}}class Test{public static void main (String [] args){Circle c=new Circle(2);System.out.println ("球的体积额为:"+c.calculateV olume());Rectangle r=new Rectangle(1,2,3);System.out.println ("长方体的体积为:"+r.calculateV olume());}}10.10 ///////////////////////////////////////////////class Employee{String name;int number;int age;int salary;public Employee(String name,int number,int age,int salary){ =name;this.number=number;this.age=age;this.salary=salary;}}class EmployeeTest{static Employee [] e=new Employee[5];public static int average(String type){int sum=0;for (int i=0;i<e.length;i++){if (type.equals("age")) sum=sum+e[i].age;if (type.equals("salary")) sum=sum+e[i].salary;}return sum/e.length;}public static int minimum(String type){int min=0;if (type.equals("age")){min=e[0].age;for (int i=1;i<e.length;i++){if (e[i].age<min) min=e[i].age;}}if (type.equals("salary")){min=e[0].salary;for (int i=1;i<e.length;i++){if (e[i].salary<min) min=e[i].salary;}}return min;}public static int maximum(String type){int max=0;if (type.equals("age")){max=e[0].age;for (int i=1;i<e.length;i++){if (e[i].age>max) max=e[i].age;}}if (type.equals("salary")){max=e[0].salary;for (int i=1;i<e.length;i++){if (e[i].salary>max) max=e[i].salary;}}return max;}public static void main(String [] args){e[0]=new Employee("张三",1,25,1500);e[1]=new Employee("李四",2,30,2800);e[2]=new Employee("王五",3,45,4500);e[3]=new Employee("刘六",4,28,2400);e[4]=new Employee("赵七",5,32,3000);if (args.length==2){if (args[0].equals("age")){ if(args[1].equals("min")) {System.out.println("最小年龄是"+minimum("age"));}else if(args[1].equals("max")) {System.out.println("最大年龄是"+maximum("age"));}else if(args[1].equals("avg")) {System.out.println("平均年龄是"+average("age"));}elseSystem.out.println("输入不正确,请正确输入!");}else if(args[0].equals("salary")){if(args[1].equals("min") ) {System.out.println("最低工资是"+minimum("salary"));}else if(args[1].equals("max")) {System.out.println("最高工资是"+maximum("salary"));}else if (args[1].equals("avg")) {System.out.println("平均工资是"+average("salary"));}elseSystem.out.println("输入不正确,请正确输入!");}else System.out.println("输入不正确,请正确输入!");}else System.out.println("输入不正确,请正确输入!");}}10.11(1)///////////////////////////////////////////////class Exer10_11_1{public static void main (String [] args){String s1=args[0];String s2=args[1];if(s1.equals(s2)){System.out.println ("s1==s2");}else if(pareTo(s2)>0){System.out.println ("s1>s2");}else{System.out.println ("s1<s2");}}}(2)///////////////////////////////////////////////class Exer10_11_2{public static void main (String [] args){StringBuffer s=new StringBuffer("Hello java!");System.out.println ("原始字符串:"+s);s=s.replace(6,s.length(),"world!");System.out.println ("替换后:"+s);s=s.insert(6,"new ");System.out.println ("插入后:"+s);s=s.delete(6,10);System.out.println ("删除后:"+s);s=s.append(" Hello java!");System.out.println ("追加后:"+s);s=s.reverse();System.out.println ("翻转后:"+s);}}10.12(1)///////////////////////////////////////////////class Exer10_12_1{public static void main (String [] args){try {String s=args[0];}//此处可能产生的异常类,应该为ArrayIndexOutOfBoundsExceptioncatch (NumberFormatException ex) {System.out.println ("格式转换错误!");}}}// 使用如下的方式之一,可以捕获并处理异常// catch (ArrayIndexOutOfBoundsException ex) {// System.out.println ("格式转换错误!");// }///////////////// catch (IndexOutOfBoundsException ex) {// System.out.println ("格式转换错误!");// }///////////////// catch (Exception ex) {// System.out.println ("格式转换错误!");// }//ng.Object// ng.Throwable// ng.Exception// ng.RuntimeException// ng.IndexOutOfBoundsException// ng.ArrayIndexOutOfBoundsException(2)//////////////////////////////////////////////////class Exer10_12_2{public static void main (String [] args){try {int i=Integer.parseInt(args[0]);}catch(IndexOutOfBoundsException ex){System.out.println ("请输入数据!");}catch (NumberFormatException ex) {System.out.println ("请输入整数!");}}}(3)//////////////////////////////////////////////////class Exer10_12_3{public static void main (String [] args){try {//System.exit(0); //在此处执行System.exit()方法,finally块无法执行String s=args[0];int i=Integer.parseInt(s);}catch(IndexOutOfBoundsException ex){System.out.println ("请输入数据!");System.exit(0);//如果出现IndexOutOfBoundsException异常,会执行System.exit()方法//则finally块无法执行//return;}catch (NumberFormatException ex) {System.out.println ("请输入整数!");return;//如果出现NumberFormatException异常,会执行finally块}finally {System.out.println ("执行finally块!");}}}(4)//////////////////////////////////////////////////class Exer10_12_4{public static void main (String [] args){try {String s=args[0];int i=Integer.parseInt(s);}catch(IndexOutOfBoundsException ex){System.out.println ("请输入数据!");}catch (NumberFormatException ex) {System.out.println ("请输入整数!");}catch(Exception ex){System.out.println ("产生其他异常!");}}}(5)//////////////////////////////////////////////////class Exer10_12_5{public static int getInt(String s) throws NumberFormatException{for(int i=0;i<s.length();i++){if(s.charAt(i)<'0' || s.charAt(i)>'9'){throw new NumberFormatException("请输入数值型数据!");}}int i=Integer.parseInt(s);return i;}public static void main (String [] args){try {String s=args[0];int i=getInt(s);}catch(IndexOutOfBoundsException ex){System.out.println ("请输入数据!");}catch (NumberFormatException ex) {System.out.println (ex.getMessage());}catch(Exception ex){System.out.println ("产生其他异常!");}}}10.13 //////////////////////////////////////////////////import java.io.*;import java.util.*;class Exer10_13{public static void main (String [] args){String dir;String cdate,size,name;int filecount=0,dircount=0;long allsize=0,longsize=0;try{dir=args[0]; //dir是已定义的String对象}catch(ArrayIndexOutOfBoundsException e){dir="./"; //考虑没有参数传入时,dir的值是当前目录}File f=new File(dir);if(!f.exists()){System.out.println("文件或目录不存在!");System.exit(0);}if(f.isFile()){long l=stModified();Date date=new Date(l);cdate=date.toLocaleString();long len =f.length();allsize+=len;name=f.getName();filecount++;System.out.println (cdate+" "+len+" "+name);}else{File [] list=f.listFiles();for(int i=0;i<list.length;i++){if(list[i].isDirectory()){long l=list[i].lastModified();Date date=new Date(l);cdate=date.toLocaleString();name=list[i].getName();dircount++;System.out.println (cdate+"\t<DIR>\t\t\t\t"+name);}else{long l=list[i].lastModified();Date date=new Date(l);cdate=date.toLocaleString();long len =list[i].length();allsize+=len;name=list[i].getName();filecount++;System.out.println (cdate+"\t\t\t"+len+"\t\t"+name);}}}longsize=allsize/1024;System.out.println ("\n"+filecount+"个文件"+longsize+"个字节");System.out.println (dircount+"个文件夹");}}10.14 //////////////////////////////////////////////////import java.io.*;class Exer10_14{static FileInputStream fis;static FileOutputStream fos;public static void main (String [] args){String source=args[0];String dest=args[1];int size=0,i=0;try {fis=new FileInputStream(source);fos=new FileOutputStream(dest);byte[] b=new byte[255];while((i=fis.read(b))!=-1){System.out.println (new String (b,0,i));size+=i;fos.write(b);}fis.close();fos.close();System.out.println ("复制文件完毕!共"+size+"字节!");}catch (Exception ex) {ex.printStackTrace();}finally { }}}10.15 //////////////////////////////////////////////////import java.io.*;class Exer10_15{public static void main (String [] args){try {int n=Integer.parseInt(args[0]);RandomAccessFile ra=new RandomAccessFile("student.dat","r");if(n*19>ra.length()) {System.out.println("记录号超出范围!");return;}ra.seek((n-1)*19);String sno=Integer.toString(ra.readInt());String name=ra.readUTF();int age=ra.readInt();char grade=ra.readChar();boolean sex=ra.readBoolean();System.out.println (sno+"\t"+name+"\t"+age+"\t"+grade+"\t"+sex);ra.close();} catch (Exception ex) {System.out.println ("产生错误!");System.out.println (ex.getMessage());}finally { }}}10.16 //////////////////////////////////////////////////(1)//////////////////////////////////////////////////import java.awt.*;import javax.swing.*;public class Exer10_16_1 extends JFrame{JButton [] button;public Exer10_16_1(){button =new JButton[5];for(int i=0;i<button.length;i++){button[i]=new JButton("Button"+i);this.getContentPane().add(button[i]);}this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));//this.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));//this.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT));this.setSize(200,100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}public static void main(String [] args){new Exer10_16_1();}}(2)//////////////////////////////////////////////////import java.awt.*;import javax.swing.*;public class Exer10_16_2 extends JFrame{JButton [] button;public Exer10_16_2(){button =new JButton[5];for(int i=0;i<button.length;i++){button[i]=new JButton("Button"+i);}this.getContentPane().setLayout(new BorderLayout());this.getContentPane().add(button[0],BorderLayout.NORTH);this.getContentPane().add(button[1],BorderLayout.WEST);this.getContentPane().add(button[2],BorderLayout.CENTER);this.getContentPane().add(button[3],BorderLayout.SOUTH);this.getContentPane().add(button[4],BorderLayout.EAST);this.setSize(200,100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}public static void main(String [] args){new Exer10_16_2();}}(3)//////////////////////////////////////////////////import java.awt.*;import javax.swing.*;public class Exer10_16_3 extends JFrame{JButton [] button;public Exer10_16_3(){button =new JButton[13];this.getContentPane().setLayout(new GridLayout(4,4));// this.getContentPane().setLayout(new GridLayout(3,5));// this.getContentPane().setLayout(new GridLayout(5,3));// this.getContentPane().setLayout(new GridLayout(13,0));// this.getContentPane().setLayout(new GridLayout(0,13));for(int i=0;i<button.length;i++){button[i]=new JButton("Button"+i);this.getContentPane().add(button[i]);}this.setSize(400,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}public static void main(String [] args){new Exer10_16_3();}}10.17(1)//////////////////////////////////////////////////import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Exer10_17_1 extends JFrame{JTextArea text=new JTextArea(15,20);JTextField tx=new JTextField(10);JButton button=new JButton("发送");public Exer10_17_1(){this.getContentPane().setLayout(new FlowLayout());this.getContentPane().add(text);this.getContentPane().add(tx);this.getContentPane().add(button);tx.addKeyListener(new KeyAdapter(){public void keyPressed(KeyEvent e){if(e.getKeyCode()==KeyEvent.VK_ENTER){send();}}});button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){send();}});this.setSize(300,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}private void send(){text.append(tx.getText()+"\n");}public static void main (String [] args){new Exer10_17_1();}}(2)//////////////////////////////////////////////////import javax.swing.*;import java.awt.*;public class Exer10_17_2 extends JFrame{Exer10_17_2(){this.setSize(300,350);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}public void paint(Graphics g){int x,y,i;g.drawLine(10,40,300,40); //从(10,40)开始到(300,40)画一条黑色直线g.setColor(Color.red);g.drawRect(10,50,50,30); //在(10,50)到(50,30)处画一个红色的矩形框g.drawOval(100,50,40,40); //在(100,50)处画一个半径为40的红色的圆形g.setColor(Color.blue);g.fillOval(170,50,90,40); //在(170,50)处画一个宽为90,高为40的蓝色的实心椭圆g.setColor(Color.pink); //绘制字符串Font fo=new Font("楷体_GB2312",Font.ITALIC|Font.BOLD,32);g.setFont(fo);g.drawString("我们都很快乐!",10,130);Image im=null; //显示图片im=getToolkit().getImage("b.jpg");g.drawImage(im,10,170,200,160,this);}public static void main(String args[]){new Exer10_17_2();}}(3)//////////////////////////////////////////////////import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Exer10_17_3 extends JFrame implements ActionListener{ // 类EventExample实现ActionListener接口,成为事件监听器JPanel p;JPanel p1;JTextField number;JTextField name;JTextField age;JTextArea summary;JButton ok;JButton cancel;public Exer10_17_3 (){super("ActionEvent事件演示示例");p=new JPanel();p1=new JPanel();number=new JTextField (5);name=new JTextField (18);age=new JTextField ("20");summary=new JTextArea("请在此输入个人简介!",4,20);ok=new JButton("确定");ok.addActionListener(this); //注册,添加监听器cancel=new JButton("取消");cancel.addActionListener(this); //注册,添加监听器p.add(new Label("学号:"));p.add(number);p.add(new Label("姓名:"));p.add(name);p.add(new Label("年龄:"));p.add(age);p.add(new Label("个人简介:"));p1.add(ok);p1.add(cancel);this.getContentPane().add(p,BorderLayout.NORTH);this.getContentPane().add(summary);this.getContentPane().add(p1,BorderLayout.SOUTH);this.setSize(600,300);this.setV isible(true);}public void actionPerformed(ActionEvent e){ //重写接口中的全部方法if ((JButton)e.getSource()==ok){ //判断是否为ok按钮发生的事件summary.setText("你输入的学号是:"+number.getText()+" 姓名是:"+name.getText()+" 年龄是:"+age.getText());}else{number.setText("");name.setText("");age.setText("");summary.setText("");}}public static void main(String [] args){new Exer10_17_3 ();}}10.18 ///////////////////////////////////////////////////*操作数据库程序DataBaseOperator.java*/import java.sql.*;class DataBaseOperator{static Connection stucn;static Statement stust;static ResultSet sturs;public static boolean ConnDB(String DSName,String UserName,String Password){ //连接数据库boolean ConnOk=false;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println ("数据库驱动程序加载成功......");stucn=DriverManager.getConnection("jdbc:odbc:"+DSName,UserName,Password);ConnOk=true;System.out.println ("数据库连接成功......");}catch (Exception ex) {System.out.println ("数据库连接失败......");}return ConnOk;}public static boolean searchTable(String SQLString){ //查询数据。

Java实验报告_实验二

Java实验报告_实验二

Java实验报告_实验⼆实验2 类和对象【实验宗旨】每天做⼀点编程练习。

【实验⽬的】1、学习和掌握Java创建对象的⽅法。

2、学习和掌握通过创建对象、使⽤类的⽅法。

3、学习和掌握Java类定义的⽅法。

4、了解类设计的⼀般原则。

【实验内容】1、(Java API类的应⽤)使⽤java.util.Random类,创建种⼦是1000的Random对象,然后使⽤nextInt(100)⽅法显⽰0到100 之间前50个随机整数。

【实验预习】创建Random对象,含有1000个种⼦,然后输出其中的前50个⽆输⼊,创建Random random = new Random(1000);利⽤for循环输出前50的随机数。

【实验过程及结果记录】import java.util.Random;public class JavaText {public static void main(String[] args) {Random random = new Random(1000);for (int i = 0; i < 50; i++)System.out.print(random.nextInt(100) + " ");}}【实验总结】练习产⽣随机数的⽅法(Random).2.(使⽤StackOfIntegers类,显⽰素数因⼦)编写⼀个程序,提⽰⽤户输⼊⼀个正整数,然后以降序显⽰它的所有最⼩因⼦。

例如:如果整数为120,那么显⽰的最⼩因⼦为5、3、2、2、2。

使⽤StackOfIntegers类存储因⼦(如:2、2、2、3、5),获取之后按倒序显⽰这些因⼦。

【实验预习】练习类的调⽤,使⽤StackOfIntegers类【实验过程及结果记录】import java.util.*;import java.awt.*;import javax.swing.*;public class zhiyinshu{public static void main (String[] args) {StackOfIntegers h1 =new StackOfIntegers(); StackOfIntegers h2 =new StackOfIntegers();String str=JOptionPane.showInputDialog(null,"请输⼊⼀个正整数","分解质因数",JOptionPane.QUESTION_MESSAGE); int yuanshu = Integer.parseInt(str);int i=2;int b=0;int c=0;do{i=2;b=0;do{if(yuanshu%i==0){yuanshu=yuanshu/i;h1.jilu(i);b=1;}i++;}while(b==0&&i}while(ih1.jilu(yuanshu);c=h1.getsize();for(int v=0;vh2.jilu(h1.esc());for(int v=0;vSystem.out.print(""+h2.esc()+"\n"); }}class StackOfIntegers {private int size;private int[] zhan;public static final int a=16;public StackOfIntegers(){this(a);}public StackOfIntegers(int n){zhan = new int[n];}public void jilu(int up) {if(size>=zhan.length){int[] temp = new int[zhan.length * 2];System.arraycopy(zhan,0,temp,0,zhan.length);zhan=temp;}zhan[size++]=up;}public int esc(){return zhan[--size];}public int getsize(){return size;}}【实验总结】练习了创建随机数的⽅法以及Java的输出⽅法,在编码的过程中还是经常出现⼤⼩写打错的情况。

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。

java 二级 试题及答案

java 二级 试题及答案

java 二级试题及答案Java二级试题及答案Java是一种广泛应用于软件开发领域的编程语言,掌握Java编程对于计算机专业人士来说尤为重要。

为了帮助读者更好地了解与掌握Java,本文将介绍一些常见的Java二级试题以及相应的详细答案。

第一节:基础知识题1. 什么是Java语言?它的特点是什么?Java语言是一种面向对象的程序设计语言,由Sun Microsystems公司于1995年推出。

它具有以下特点:- 简单易学:Java语法简洁明了,规范性强,相对于其他编程语言来说更容易上手。

- 面向对象:Java支持面向对象的编程风格,可以通过类和对象的概念来组织代码和数据。

- 平台无关性:Java应用程序可以在不同的操作系统上运行,因为Java程序是在Java虚拟机(JVM)上运行的。

- 安全性:Java提供了一些安全特性,如字节码验证和安全管理器,以确保程序在运行时的安全性。

- 高性能:Java通过Just-In-Time(JIT)编译器将字节码转换为本地机器码,从而提高了执行效率。

2. Java中如何实现多线程?请简要描述一下多线程同步的方法。

在Java中,可以通过继承Thread类或实现Runnable接口来创建多线程。

下面是一个使用Runnable接口的示例代码:```javapublic class MyThread implements Runnable {public void run() {// 线程执行的代码}public static void main(String[] args) {Thread thread = new Thread(new MyThread());thread.start();}}```多线程同步可以通过以下方法实现:- 使用synchronized关键字:可以用来修饰方法或代码块,确保同一时间只有一个线程可以访问被修饰的代码,从而避免竞态条件和数据不一致的问题。

Java-2实用教程习题解答

Java-2实用教程习题解答

Java-2实⽤教程习题解答习题解答习题1(第1章)⼀、问答题1.Java语⾔的主要贡献者是谁?2.开发Java应⽤程序需要经过哪些主要步骤?3.Java源⽂件是由什么组成的?⼀个源⽂件中必须要有public类吗?4.如果JDK的安装⽬录为D:\jdk,应当怎样设置path和classpath的值?5.Java源⽂件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应⽤程序主类的名字是Bird,编译之后,应当怎样运⾏该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)⽤⽂本编辑器编写源⽂件。

2)使⽤javac编译源⽂件,得到字节码⽂件。

3)使⽤解释器运⾏程序。

3.源⽂件由若⼲个类所构成。

对于应⽤程序,必须有⼀个类含有public static void main(String args[])的⽅法,含有该⽅法的类称为应⽤程序的主类。

不⼀定,但⾄多有⼀个public类。

4.set classpath=D:\jdk\jre\lib\;.;5. java和class6. java Bird7.独⾏风格(⼤括号独占⾏)和⾏尾风格(左⼤扩号在上⼀⾏⾏尾,右⼤括号独占⾏)⼆、选择题1.B。

2.D。

1.下列哪个是JDK提供的编译器?A)B)C)D)2.下列哪个是Java应⽤程序主类中正确的main⽅法?A) public void main (String args[ ])B) static void main (String args[ ])C) public static void Main (String args[])D) public static void main (String args[ ])三、阅读程序阅读下列Java源⽂件,并回答问题。

public class Person {void speakHello() {"您好,很⾼兴认识您");" nice to meet you");}}class Xiti {public static void main(String args[]) {Person zhang = new Person();();}}(a)上述源⽂件的名字是什么?(b)编译上述源⽂件将⽣成⼏个字节码⽂件?这些字节码⽂件的名字都是什么?(c)在命令⾏执⾏java Person得到怎样的错误提⽰?执⾏java xiti得到怎样的错误提⽰?执⾏java 得到怎样的错误提⽰?执⾏java Xiti得到怎样的输出结果?1.(a)。

Java程序设计教程与实训(第2版)习题参考答案(1-9章)

Java程序设计教程与实训(第2版)习题参考答案(1-9章)

各章参考答案(1-9章)第一章【习题内容】1. Java语言有哪些特点?2.简述Java的运行机制。

3.简述Java应用程序的开发过程。

4.在计算机上安装、配置Java运行环境,并编辑运行本章中的例程。

【参考答案】1.面向对象、语法简单、平台无关性、安全性、分布式应用、多线程2. Java程序的运行必须经过编写、编译、运行三个步骤。

编写是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。

编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,Java解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。

运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。

Java虚拟机(JVM)是运行Java程序的软件环境,Java解释器就是Java虚拟机的一部分。

在运行Java 程序时,首先会启动JVM,然后由它来负责解释执行Java的字节码,JVM把不同软硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。

3.(1)安装JDK(2)配置环境变量(3)使用记事本编写java源文件(4)使用javac 编译java源文件(5)使用java运行java程序。

4.略。

第二章【习题内容】1. 现有语句:String s = "Example"; 则下面哪些语句是合法语句?A. s >>> = 3;B. s[3] = "x";C. int i = s.length();D. String t = "For " + s;E. s = s + 10;2.下面哪些是Java保留字?A. runB. defaultC. implementD. import3.下面声明float变量的语句合法的有:A. float foo = -1;B. float foo = 1.0;C. float foo = 42e1;D. float foo = 2.02f;E. float foo = 3.03d;F. float foo = 0x0123;4.以下哪两个表达式是等价的:A. 3/2B. 3<2C. 3*4D. 3<<2E. 3*2^2F. 3<<<25.分析下列程序的执行结果:(1)public class TestA{public static void main(String args[]){int i = oxFFFFFFF1;int j = ~i;System.out.println("j=" + j);}}(2)public class TestB{public static void main(String[] args){System.out.println(6 ^ 3);}}(3)public class FooBar{public static void main(String[] args){int i = 0, j = 5;tp:for(; ; i++){for( ; ; --j)if(i > j)break tp;}System.out.println("i=" + i + ",j=" + j);}}(4)public class TestC{public static void main(String[] args){int i = 1, j = 10;do{if(i++ > --j)continue;}while(i < 5);System.out.println("i=" + i + " j=" + j);}}【参考答案】1. C、D、E2.B、D3.A、D、F4.C、D5.(1)j=14(2)5(3)i=0,j=-1(4)i=5 j=6第三章【习题内容】1.什么叫引用类型,对象是引用类型吗?2.Java的访问限定修饰符有几种,各自的访问权限是什么?3.什么是类成员,什么是实例成员?它们之间有什么区别?4.如何创建自己的包,如何引入包?5.下面哪一个是类Myclass的构造方法?class Myclass{public void Myclass(){}public static Myclass(){}public Myclass(){}public static void Myclass(){}}6.设计一个动物类,它包含动物的基本属性,例如名称、身长、重量等,并设计相应的动作,例如跑、跳、走等。

java2实用教程课后习题答案(第三版简单题)

java2实用教程课后习题答案(第三版简单题)

java2实⽤教程课后习题答案(第三版简单题)第⼀章1. 开发与运⾏Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源⽂件:使⽤⽂本编辑器(Edit或记事本),拓展名为.java(2)编译Java源⽂件:使⽤Java编译器(javac.exe)。

得到字节码⽂件*.class(3)运⾏Java程序:Java应⽤程序使⽤Java解释器(java.exe)执⾏字节码⽂件;Java⼩应⽤程序使⽤⽀持Java标准的浏览器来执⾏。

2. 怎样区分应⽤程序和⼩应⽤程序?应⽤程序的主类或⼩应⽤程序的主类必须⽤public修饰吗?答:①应⽤程序必须有main⽅法,这个⽅法是程序执⾏的⼊⼝。

⼩应⽤程序没有main⽅法。

②应⽤程序的主类不⼀定⽤public修饰;⼩应⽤程序的主类必须⽤public修饰。

3. Java程序是由什么组成的?⼀个程序中必须要有public类吗?Java源⽂件的命名规则是怎样的?答:①Java程序由类组成。

②应⽤程序可以没有public类;⼩应⽤程序⼀定有⼀个类是public类(主类)。

③应⽤程序:如果只有⼀个类,源⽂件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多⼀个),源⽂件名与public类的类名相同,拓展名是.java;没有public类,源⽂件名与任何⼀个类的类名相同即可,拓展名为.java。

⼩应⽤程序:源⽂件名与主类的类名相同,拓展名是.java。

第四章1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。

2. 什么叫⽅法的重载?构造⽅法可以重载吗?答:①⼀个类中可以有多个⽅法具有相同的名字,但这些⽅法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(⽅法的重载体现了多态性,即功能多态性)。

②构造⽅法可以重载。

3. 类中的实例⽅法可以操作类变量(static变量)吗?类⽅法(static⽅法)可以操作实例变量吗?答:①类中的实例⽅法可以操作类变量。

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

Java 实验二
实验二类与对象
实验目的
1、掌握面向对象程序设计的方法与Java 作为面向对象程序设计语言的特点;
2、掌握修饰符与构造方法的使用规则;
3、掌握接口的特点、结构、调用与继承;
4、掌握如何创建包, 通过包如何管理类;
5、掌握Java 的继承机制与实现多态的方法实验内容
(1)定义一个类Student,属性为学号、姓名与成绩;方法为增加记录SetRecord与得到记录GetRecord。

SetRecord赋值学号、姓名与成绩,GetRecord通过学号得到考生的成绩。

通过实例验
证编程无误。

⑵定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea()然后设
计Circle与Rectan两个类实现这个接口的方法calculateArea()分别计算圆与矩形的面积。

通过实例验证编程无误。

(3) 假定根据学生的3门学位课程的分数决定其就是否可以拿到学位,对于本科生, 如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。

根据上述要求,请完成以下Java类的设计:
(i)设计一个基类Student描述学生的共同特征。

(ii)设计一个描述本科生的类Undergraduate该类继承并扩展Student类。

(iii)设计一个描述研究生的类Graduate该类继承并扩展Student类。

(iv)设计一个测试类StudentDemo分别创建本科生与研究生这两个类的对象,并输
出相关信息
附实验一名称就是Java 语言基础实验报告分为以下几个部分
一实验名称二实验目的三实验仪器四实验步骤(把您的操作一步一步写清楚,java 程序代码要写) 五实验结果(程序运行后的结果就就是DOS 环境下运行出来的结果写在实验报告上) 六实验讨论(实验过程中的错误及如何改正,您的心得体会等)
答案:
(1)定义一个类Student,属性为学号、姓名与成绩;方法为增加记录SetRecord与得到记录GetRecord。

SetRecord 赋值学号、姓名与成绩,GetRecord 通过学号得到考生的成绩。

通过实例
验证编程无误
public class Student {
private int ID;
private String name;
private float score;
public void SetRecord(int ID,String name,float score){
this、ID=ID;
this、name=name;
this、score=score;
}
public float getRecord(int ID){ if(ID==this 、ID) return this 、score;
else
return -1;
}
public static void main(String[] args) { Student s=new Student(); s、SetRecord(0,"alex",100); float Sco=s、getRecord(0); System、out 、
print(Sco);
}
}
⑵定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea()然后设
计Circle与Rectan两个类实现这个接口的方法calculateArea()分别计算圆与矩形的面积。

通过实例验证编程无误
in terface Area{ float calculateArea();
}
class Circle implements Area{
float radius;
Circle (float r){ this、radius=r;
}
public float calculateArea(){ return (float) Math、PI*radius*radius;
}
}
class Rectan implements Area{
float width;
float height;
Rectan(float w,float h){
this、width=w; this、height=h;
}
public float calculateArea(){ return (float)width*height;
}
}
public class Interface{
public static void main (String args[]){
Circle circle =new Circle(5);
System、out、println ("Circle Area="+circle 、calculateArea());
Rectan rect=new Rectan(12,6);
System、out、println("Rectangle Area="+rect 、calculateArea());
}
}
(3) 假定根据学生的3 门学位课程的分数决定其就是否可以拿到学位,对于本科生, 如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。

根据上述要求,请完成以下Java类的设计:
(i)设计一个基类Student描述学生的共同特征。

(ii)设计一个描述本科生的类Undergraduate该类继承并扩展Student类。

(iii)设计一个描述研究生的类Graduate该类继承并扩展Student类。

(iv)设计一个测试类StudentDemo分别创建本科生与研究生这两个类的对象,并输
出相关信息。

class Student
{
public String name;
public double a,b,c;
public double average;
int status;
}
class Undergraduate extends Student
{
Undergraduate(String s,double a,double b,double c) {
this、name = s;
this、a = a;
this、b = b;
this、c = c;
this、average = (a+b+c)/3;
}
public void Display()
{
if(this 、average>=60)
status = 1;
else
status=0;
if(status==1)
System out、println(name+":通过!");
if(status==0)
System out、println(name+":不通过!");
}
}
class Graduate extends Student
{
Graduate(String s,double a,double b,double c)
{ this、name = s; this、a = a; this、b = b; this、c = c; this、average = (a+b+c)/3;
}
public void Display()
{ if(this 、average>=80) status = 1; else status=0;
if(status==1) System、out、println(name+": 通过!");
if(status==0)
System、out、println(name+": 不通过!");
}
}
public class StudentDemo
{
public static void main(String args[])
{
Un dergraduate st1 = new Un dergraduate张三",50,70,60); st1、Display();
Graduate st2=new Graduate(李四",70,80,90);
st2、Display();
}
}
附:这三个程序中相关的实例都就是随意举的,您也可以改成自己的。

相关文档
最新文档