java实验2报告答案

合集下载

JAVA实验二报告

JAVA实验二报告

实验题1阅读如下程序,完成思考题。

class CCircle {double pi;double radius;double getRadius() {return radius; // 返回radius}void setCircle(double r, double p) // 创建setCircle方法,设置pi及radius大小{pi = p;radius = r;}}public class Ex2_1 {public static void main(String args[]) {CCircle cir1 = new CCircle(); // 实例化对象cir1.setCircle(2.0, 3.1416); // 调用setCricle方法System.out.println("radius=" + cir1.getRadius());}}[基本要求] 运行程序并观察运行结果。

运行结果为:radius=2.0[思考问题] 试述程序中主要语句的作用(含注释的代码)。

实验题2设计一个用来描述汽车的类Car,使用类的非静态成员变量来表示汽车的车主姓名name、当前的速率speed:1.创建构造函数为两个成员变量赋初值。

2.使用类的非静态成员方法来表示改车主姓名changeName操作, 并通过该方法显示修改后的车主名称。

3.使用类的非静态成员方法来表示改变汽车的速率changSpeed操作,并通过该方法显示修改后的车速。

4.使用类的非静态成员方法来表示停车stop操作,并通过该方法显示停车后的车速。

5.创建一个Car类的对象,初始状态时,车主名称是自己的名字,speed=0。

6.分别调用这三个方法,更改车名为朋友的名字,车速为20,停车车速为0,并且得到如下的结果:public class Test2 {public static void main(String[] args) {Car car=new Car();car.setName("好友");car.setSpeed(20);System.out.println("当前速度为:"+car.getSpeed());System.out.println("车主为:"+car.getName());System.out.println("停车后,车速为:"+car.stop());car.changName("好人啊");car.changSpeed(50);System.out.println("当前速度为:"+car.getSpeed());System.out.println("车主为:"+car.getName());System.out.println("停车后,车速为:"+car.stop());}}class Car{String name;double speed;public String getName() {return name;}public void setName(String name) { = name;}public double getSpeed() {return speed;}public void setSpeed(double speed) {this.speed = speed;}public String changName(String name){=name;return ;}public double changSpeed(double speed){this.speed=speed;return this.speed;}public double stop(){speed=0;return speed;}}实验题3定义一个类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr ()。

Java 2实用教程(3版)实验指导及答案

Java 2实用教程(3版)实验指导及答案

Java 2实用教程(第三版)实验指导与习题解答上机实践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实例成员与类成员 (13)实验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布局与日历 (32)上机实践7 组件及事件处理2 (36)实验1方程求根 (36)实验2字体对话框 (39)实验3英语单词拼写训练 (42)上机实践8 多线程 (46)实验1汉字打字练习 (46)实验2旋转的行星 (48)实验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++){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实验二试验报告

姓名学号:班级:说明:实验2(类的继承,与接口的实现)1. 编一程序,求两个正整数m、n的最大公约数。

要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。

截图:代码:public class gcd {public static void main(String[] args) {int a = 6, b = 9;System.out.printf("two nums:%d %d\n", a, b);System.out.println("递归: " + gcd1(a, b));System.out.println("辗转相除: " + gcd2(a, b));}public static int gcd1(int m, int n){return m % n == 0 ? n : gcd1(n, m%n);}public static int gcd2(int m, int n){while(n != 0){int t = m;m = n;n = t % n;}return m;}}2. 使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。

)截图:代码:public class Date {public static void main(String[] args) {Date d = new Date();System.out.println(d);d.setYear(2011);d.setMonth(10);d.setDay(3);System.out.println(d);}public Date(){}public Date(int y, int m, int d){year = y; month = m; day = d;}public void setYear(int new_year){ this.year = new_year;} public void setMonth(int m){ this.month = m; }public void setDay(int d){ this.day = d; }public String toString(){return new String("" + year + "/" + month + "/" + day);}public int year = 2000, month = 1, day = 1;}3. 编写一个包含圆类的程序,并为圆类设计几个构造方法,编译并运行它。

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。

Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

上机实践1初识Java实验1一个简单的应用程序1.相关知识点Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。

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

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

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

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

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

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

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

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

(3Java 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[实验要求]给以下程序添加输出语句,以显示各种参数值及其传递关系画出参数传递的内存图[实验程序]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实验报告实验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。

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

实验内容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)实验目的
本实验的目的是让同学们掌握一维数组的深拷贝与二维数组的创建与应用。

2)实验要求
●编写一个java 应用程序,调用System类的arraycopy()方法完成数组的快速复制。

●编写一个java应用程序,输出杨辉三角形的前10行。

3)【选作题目的】程序源码
●编写一个java 应用程序,调用System类的arraycopy()方法完成数组的快速复制:
public class ArrayCopyB{
public static void main(String[] args){
char[] copyFrom={'h','a','p','p','y','g','i','r','l'};
char[] copyTo=new char[5];
System.arraycopy(copyFrom,0,copyTo,0,5);
System.out.println(new String(copyTo));
}
}
输出结果:
编写一个java应用程序,输出杨辉三角形的前10行。

public class Yang {
public static void main(String args[]) {
int Yang[][]=new int[10][10];
int i,j;
for(i=0;i<10;i++){
Yang[i][0]=1;
Yang[i][i]=1;
}
for(i=2;i<10;i++){
for(j=1;j<i;j++){
Yang[i][j]=Yang[i-1][j-1]+Yang[i-1][j];
}
}
for(i=0;i<10;i++){
for(j=0;j<=i;j++){
System.out.print(Yang[i][j]+" ");
}
System.out.println();} }
}
输出结果:。

相关文档
最新文档