JAVA实验 +答案

合集下载

java实验报告实验1答案

java实验报告实验1答案

实验一熟悉NetBeans IDE 平台,开发环境及Java编程实验目的:1、我们使用的开发平台是NetBeans IDE,希望通过本次实验同学们能对NetBeans IDE 的开发环境有一个清楚的了解并能熟练运用,对Java语法进行初步运用,对面向对象的编程有一个直观的认识和深入理解,对于Java的基础知识进行理解运用和巩固。

为以后的实验中能够进行开发程序打下基础。

2、通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP方式进行程序设计的方法,了解类的继承性和多态性的作用。

实验内容:● 1. 编写一个体现面向对象思想的程序。

● 2. 编写一个创建对象和使用对象的方法的程序。

● 3. 编写一个显示当前日期和时间的程序。

● 4. 编写不同成员变量修饰方法的程序。

● 5. 编写不同成员方法修饰方法的程序。

● 6. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。

●7. 编写体现类的多态性(成员方法重载、构造方法重载)的程序。

实验步骤:●双击桌面上的NetBeans IDE 6.5.1快捷方式或在文件菜单中打开它。

图1-1点击文件,创建新项目,创建一个项目名:experiment1。

点击按钮下一步:在项目名称处输入:experiment1 然后点击完成:项目experiment1在experiment1 下实现程序样例1:编写应用程序输出如下三角形。

****************【参考程序】public class Star{public static voidmain(String a[]){System.out.println(" *");System.out.println(" ***");System.out.println(" *****");System.out.println("*******");}}程序运行结果如图1-2所示。

浙大JAVA实验题答案

浙大JAVA实验题答案

实验8 Method的使用1.程序填空题,不要改变与输入输出有关的语句;50001输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和保留 4 位小数;s = 1 + 1/2 +....+ 1/n要求定义并调用函数factn计算n的阶乘;例:括号内是说明输入:2 repeat=22 n=210 n=10输出:public class Test50001 {public static void mainString args {int ri,repeat;int i,n;double s;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/-----------/s=0;for i=1;i<=n;i++s+=fact i;}}/---------------/static double fact int n {int i;double f=1;for i=1;i<=n;i++f=i;return f;}}50002输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…an个a之和;要求定义并调用函数fna,n,它的功能是返回aa…an个a;例如,fn3,2的返回值是33;例:括号内是说明输入2 repeat=22 3 a=2, n=38 5 a=8, n=5输出246 2+22+22298760 8+88+888+8888+88888imponner;public class Test50002{public static void mainString args{int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{a=;n=;/------------/sn=0;for i=1;i<=n;i++sn+=fn a,i;}}/------------/s tatic int fn int a,int n{int s=0;forint i=1;i<=n;i++s=s10+a;return s;}}50003输入一个正整数repeat 0<repeat<10,做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数;要求定义并调用函数countdigitnumber,digit,它的功能是统计整数number中数字digit的个数;例如,countdigit10090,0的返回值是3;例:括号内是说明输入:3 repeat=3-219022345543输出:count=2 -21902中有2个2count=1 有1个2count=0 345543中没有2public class Test50003{public static void mainString args{int ri, repeat;int count;long n;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{n=;/---------/n=n;count=countdigit n,2;}}/------------/static int countdigit long number,int digit{....要求定义并调用函数fibn,它的功能是返回第n项Fibonacci数;例如,fib7的返回值是13;例:括号内是说明输入:3 repeat=31 10 m=1, n=1020 100 m=20, n=1001000 6000 m=1000, n=6000输出:1 123 5 8 1到10之间的Fibonacci数21 34 55 89 20到100之间的Fibonacci数1597 2584 4181 1000到6000之间的Fibonacci数public class Test50006{public static void mainString args{int ri,repeat;int i, m, n;long f;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{m=;n=;/---------/i=1;f=1;while f<=n{if f>=m " ";i++;f=fib i;}}}/------------/sta ti c long fib int n{ //返回第n项Fibonacci数int i;long a=1,b=1,f=1;for i=3;i<=n;i++{ //从第3项开始计算f=a+b;a=b;b=f;}return f;}}50007输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=10000,输出m 到n之间的所有完数完数就是因子和与它本身相等的数;要求定义并调用函数factorsumnumber,它的功能是返回number的因子和;例如,factorsum12的返回值是161+2+3+4+6;例:括号内是说明输入:2 repeat=220 500 m=100, n=4001 100 m=1, n=100输出:28 4961 6 28public class Test50007{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if i==factorsum i" ";}}/---------/static int factorsum int number{ //返回number的因子和int sum=0;if number==1sum=1;forint i=1;i<=number-1;i++if number%i==0sum+=i;return sum;}}50008输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=1000,输出m 到n之间的所有满足各位数字的立方和等于它本身的数;要求定义并调用函数isnumber判断number的各位数字之立方和是否等于它本身;例:括号内是说明输入:2 repeat=2100 400 m=100, n=4001 100 m=1, n=100输出:153 370 371 111+555+333=153; 333+777=370; 333+777+111=3711public class Test50008{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if is i" ";}}/---------///判断number的各位数字之立方和是否等于它本身static boolean is int number{int sum=0,n,digit;n=number;while n>0{digit=n%10;n=n/10;sum+=digitdigitdigit;}if number==sum return true;else return false;}}50009输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入一个整数,将它逆序输出;要求定义并调用函数reversenumber,它的功能是返回number的逆序数;例如reverse12345的返回值是54321;例:括号内是说明输入4 repeat=4123456 -100 -2 99输出654321-1-299public class Test50009{public static void mainString args{int ri,repeat;long n, res;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/---------/res=reverse n;}}/---------/static long reverse long number{//返回number的逆序数int flag=1;long a=0,digit;if number<0{flag=-1;number=-number;}while number>0{digit=number%10; //分离出个位数字a=a10+digit; //形成当前的逆序数number=number/10;}return flaga;}}50011输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入三个整数a、b和c,输出其中较大的数;要求定义和调用函数maxa, b, c找出a、b中较大的数,函数形参a、b和c的类型是int;输入输出示例:括号内是说明输入3 repeat=3输入:5 8 9 a=5, b=8-1 -10 -5 a=-1, b=-101 1 1 a=1, b=1输出:max5,8,9=9max-1,-10,-5=-1max1,1,1=1public class Test50011 {public static void mainString args {int ri, repeat;int a,b,c,maximun;Scanner in = new Scanner;repeat = ;for ri = 1; ri <= repeat; ri++ {a = ;b = ;c=;/-----------------/maximun=maximuna,b,c;Sy}}/-------------------/static int maximunint a,int b,int c{int max=a;ifmax<bmax=b;ifmax<cmax=c;return max;}}。

Java程序设计实验指导书(答案)

Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。

二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。

三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。

3.编写并编译、运行一个Java Application程序。

创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。

public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。

1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。

java实验答案

java实验答案

实验一水仙花数:class shuixianhua{//水仙花数public static void main(String arg[]) {int i,a,a1,b,b1,c;for(i=100;i<1000;i++){a=i%10;a1=i/10;b=a1%10;b1=a1/10;c=b1%10;if(i==(a*a*a+b*b*b+c*c*c))System.out.println(i);}}}输出如下:153370371407打印出100以内素数:public class sushu {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint i,j,k=0;for(i=2;i<100;i++){if(i==2)System.out.println(i);i++;for(j=2;j<i;j++){if(i%j!=0)k=1;}if(k==1)System.out.println(i);}}求1!+2!+ (20)public class jiecheng {public static void main(String[] args) {int i,sum=0,k;for(i=1;i<=20;i++){k=ji(i);sum=k+sum;}System.out.print(sum);}static int ji(int n){if(n==1)return 1;elsereturn ji(n-1)*n;}}习题2.6public class Test{public static void main(String[] args)//第19题,打出图形.菱形{int n=3;for(int i=1;i<=n;i++){for(int k=n-1;k>=i;k--){System.out.print(" ");}for(int j=1;j<=2*i-1;j++)//打印*{System.out.print("*");}System.out.println();}}}编写程序,命令行窗口输出希腊字母表。

java实验一附答案

java实验一附答案

Java实验一实验内容(1)写一个应用程序:在屏幕上显示hellojava(2) 写一个Applet小程序,输出hellojava(3) 利用循环计算2+4+6+8+……+100的总和并显示输出结果(4) 编程计算从10到20的平方值并将结果保存在一个数组中实验目的1熟练掌握Java中的数据类型、运算符、表达式及流程控制语句;2掌握数组的定义、建立及其使用方法;3熟悉Java一般程序的结构。

介于机房没有相关java编程软件,我们用txt文件来写java程序。

写完后,修改文件名的后缀,改为.java.编译:点“开始”-“运行”-输入“cmd”-打开你保存.java文件的目录-输入“javac文件名.java”,就会生成.class文件运行:在打开的DOS 环境里,打开你保存.java文件的目录,输入“java 文件名”即可答案:1 JA V A 语言基础(1)写一个应用程序:在屏幕上显示hellojavapublic class HelloWorld{public static void main(String[] args){System.out.println("Hello World!");}}(2)写一个Applet小程序,输出hellojavaimport javax.swing.JApplet;//引入类JAppletimport javax.swing.JLabel;//引入标签类JLabelpublic class HelloWorldApplet extends JApplet{public void init(){System.out.println("init Applet");}public void start(){System.out.println("start Applet");getContentPane().add(new JLabel("HelloWorldApplet"));}public void stop(){System.out.println("stop Applet");}public void destroy(){System.out.println("destory Applet");}}(3)利用循环计算2+4+6+8+……+100的总和并显示输出结果public class s{public static void main(String args[]){int i=2,sum=0;while(i<=100){sum+=i;i+=2;}System.out.println("求和结果是:"+sum);}}(4)编程计算从10到20的平方值并将结果保存在一个数组中public class Square{public static void printSquare(){long a[] =new long[11];int i;for(i=10;i<=20;i++)a[i-10]=i*i;for(i=0;i<=10;i++)System.out.println(10+i+"的平方值"+a[i]);}public static void main(String args[]){printSquare();}}。

java实验答案全.doc

java实验答案全.doc
}
public void Display(){
if(this.average>=80) status = 1;
else statu$=O;
if(status==l) System.out.println(name+":通过!");if(status==O) System.out.println(name+••:不通过!’•);
}
public float get_y(){ return this.y;
}
//显示点的位罝
public String getLocation(){
String str = "("+(this.x)+","+(this.y)+")"+"\n"; return str;
}
//修改点的坐标
public void changeLocation(float a,float b){
st2.Display();
}
}
实验
2.按照要求编写Java Application程序。
假定要为某个公司编写雇员工资支付程序。这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
经理(Manager):每月获得一份固定的工资;
销售人员(Salesman):在基本工资的基础上每月还有销售提成;
class Student {
public String name; public double a,b,c; public double average; int status;
}
class Undergraduate extends Student {

java实验期末考试题及答案

java实验期末考试题及答案

java实验期末考试题及答案一、选择题(每题2分,共20分)1. Java中,下面哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项不是Java的基本数据类型?A. intB. floatC. doubleD. String答案:D3. 在Java中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B4. Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void5. 在Java中,下列哪个关键字用于实现多态?A. extendsB. implementsC. interfaceD. abstract答案:A6. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. final答案:B7. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. volatile答案:A8. 在Java中,哪个关键字用于声明一个同步方法?A. synchronizedB. volatileC. transientD. strictfp答案:A9. Java中,哪个关键字用于声明一个内部类?B. nestedC. staticD. private答案:A10. 在Java中,哪个关键字用于声明一个泛型?A. genericB. templateC. typeD. generic答案:D二、填空题(每题2分,共20分)1. Java程序的执行是由____开始的。

答案:main方法2. Java中,____关键字用于声明一个类的成员变量为常量。

答案:final3. Java中,____关键字用于声明一个类的方法不生成字节码。

答案:native4. 在Java中,____关键字用于声明一个类只能被同一个包中的其他类访问。

java上机实验答案与解析

java上机实验答案与解析

JAVA上机实验题答案与解析实验一 Java程序编程1.编写一个Java应用程序,输出内容为Hello;注:文件位置位于e:\2:\Hello.java 编译:1e:2cd 2 3javac Hello.java4java Hello2.编写一个Java小应用程序,输出内容为我一边听音乐,一边学Java;第一步编写import java.awt.;import java.applet.;public class MyApplet extends Applet{public void paintGraphics g{g.drawString"我一边听音乐,我一边做java",25,25;}}第二步在DOS环境中编译....javac MyApplet.java第三步使用记事本编写<applet code=MyApplet.class height=200 width=120></applet>第四步将记事本文件名命名为MyApplet.html第五步打开MyApplet.html实验二类的定义1.编写Java应用程序,自定义Point类,类中有两个描述坐标位置的double变量x,y,利用构造方法,实现对Point 对象p1,p2初始化,p1和p2对应坐标分别为15,20,10,30;定义方法getX,getY分别获得点的横坐标和纵坐标;定义方法setX,setY分别获得点的横坐标和纵坐标;并且把p1和p2输出;public class Point {double x,y;Pointdouble x,double y{this.x=x;this.y=y;}double getX{return x;}double getY{return y;}void setXdouble x{this.x=x;}void setYdouble y{this.y=y;}public static void mainString args {Point p1=new Point15,20;//初始化Point p2=new Point10,30;}运行结果:横坐标为15.0 纵坐标为20.0横坐标为10.0 纵坐标为 30.02.编写Java应用程序,自定义Circle类,类中有两个double 变量r,s,一个类变量pi,利用构造方法实现对半径是3和5.5的初始化,自定义getArea方法实现圆面积求解;public class Circle {double s,r;public Circledouble r{this.r=r;}double get Area{this.s=pirr;return s;}public static void mainString args {Circle c1=new Circle3;Circle c2=new Circle5.5;Area ;Area;}}实验三类的继承和多态性1.1编写一个接口ShapePara,要求:接口中的方法: int getArea:获得图形的面积;int getCircumference:获得图形的周长2编写一个圆类Circle,要求:圆类Circle实现接口ShapePara;该类包含有成员变量:radius:public 修饰的double类型radius,表示圆的半径;x:private修饰的double型变量x,表示圆心的横坐标;y:protected修饰的double型变量y,表示圆心的纵坐标;包含的方法有:Circledouble radius 有参构造方法;以形参表中的参数初始化半径,圆心为坐标原点; double getRadius:获取半径为方法的返回值;void setCenterdouble x, double y:利用形参表中的参数设置类Circle的圆心坐标;void setRadiusdouble radius:利用形参表中的参数设置类Circle的radius域;在主方法中产生半径为5的圆;interface ShapePara {double getAreadouble r;double getCircumferencedouble r;}//注: Circle是在接口中建立的calss,即先建立接口,在建立接口的类class Circle implements ShapePara{private double x;protected double y;public double r;Circledouble r{this.r=r;}void setRadiusdouble r{this.r=r;}double getRadius{return r;double getArea{return 3.14rr;}double getCircumference{return 3.142r;}void setCenterdouble x,double y{this.x=x;this.y=y;}double getCenterx{return x;}double getCentery{return y;}}public class A {public static void mainString args { Circle ci=new Circle5;ci.setRadius5;ci.setCenter0, 0;}答案:78.50.00.02.定义图形类Shape,该类中有获得面积的方法getArea;定义长方形类Rect,该类是Shape 的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth、setHeight,使用getArea求矩形面积;利用getArea方法实现题1中圆面积的求解; class Shape {double getAreadouble r{return 0;}}public class Rect extends Shape {double a,b,area;Rectdouble width,double heigh{a=width;b=height;;}void setWidthdouble width {a=width;}void setHeightdouble height {b=height;}double getWidth{return a;}double getHeight{return b;}double getArea{area=ab;return area;}}public class A {public static void mainString args {Rect rect=new Rect;double w=12.76,h=25.28;rect.setWidthw;rect.setHeighth;}}答案:圆的的面积:78.5矩形对象的宽:12.76 高:25.283. 编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs,获得腿数量的方法getLegs,设置动物名称的方法 setKind,获得动物名称的方法 getKind,获得动物数量的方法 getCount;定义Fish类,是Animal类的子类,统计鱼的数量 count,获得鱼数量的方法 getCount;定义Tiger类,是Animal类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount;定义SouthEastTiger类,是Tiger类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount;public class Animal {String name;int legs;static int count;Animal{count++;}void setLegsint legs{this.legs=legs;}int getLegs{return legs;}void setKindString name{=name;}String getKind{return name;}int getCount{return count;}}public class Fish extends Animal{static int countFish;Fish{countFish++;}int getCount{return countFish;}}public class Tiger extends Animal{static int countTiger;Tiger{countTiger++;}int getCount{return countTiger;}}public class SouthEastTiger extends Tiger{} public class A {public static void mainString args{Fish f=new Fish;Tiger t=new Tiger;SouthEastTiger st=new SouthEastTiger;}实验四异常处理1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理;forinti=0;i<4;i++{intk;switchi{case0:intzero=0;k=911/zero;break;case1:intb=null;k=b0;break;case2:int c=new int2;k=c9;break;case3:charch="abc".charAt99;break;}}package Exception;public class TestException {public static void mainString args{forint i=0;i<4;i++{try{int k;switchi{case 0: int zero=0;k=911/zero;break;case 1: int b=null;k=b0;break;case 2: int c=new int2;k=c9;break;case 3: char ch="abc".charAt99;break;}}catchArithmeticException e{}}catchArrayIndexOutOfBoundsException e{}}}}}运行结果:/ by zeronull9String index out of range: 992.建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawaldouble dAmount,当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank100,表示存入银行100元,当用方法withdrawal150,withdrawal-15时会抛出自定义异常;提示: InsufficientFundsException,NagativeFundsException为自定义的类,分别产生余额不足异常和取款为负数异常,需继承Exception类;通过输出结果了解java异常的产生,并将该Java程序放在exception包中; package Exception;//注解先建立一个package,然后在包中建立各种类public class InsufficientFundsException extends Exception{ String s1;InsufficientFundsExceptionString t{s1=t;}public String getMassage1{return s1;}}package Exception;public class NagativeFundsException extends Exception{ String s;NagativeFundsExceptionString t{s=t;}public String getMassage{return s;}}package Exception;public class Bank extends Exception{static double ba=0;Bankdouble r{ba=ba+r;}void withDrawaldouble dAmount throws InsufficientFundsException,NagativeFundsException{ifdAmount>ba throw new InsufficientFundsException"取款余额不足";else ifdAmount<0 throw new NagativeFundsException"取款为负数";else}}package Exception;import java.util.;public class A{public static void mainString args {Bank b=new Bank100;Scanner sc=new ScannerSystem.in;try {b.withDrawalsc.nextInt;}catchInsufficientFundsException e{}catchNagativeFundsException e{}}}运行结果:请输入一个数80银行里还剩余:20.0实验五输入输出1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上;import java.io.;public class TextRw {public static void mainString args throws IOException {File f=new File"f:\\TextRw.txt";FileWriter fw=new FileWriterf;fw.write"学号姓名";fw.close;FileReader fr=new FileReaderf;int i;whilei=fr.read=-1fr.close;}}2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取IoDemo.java源程序文件,再通过键盘输入文件的名称为iodemo.txt,把IoDemo.java的源程序存入3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc;import java.io.;public class BinIoDemo{public static void mainString args throws IOException{File f1=new File"e:\\1.doc";FileInputStream in=new FileInputStreamf1;File f2 = new File"e:\\“学号”+“姓名”.doc";FileOutputStream out=new FileOutputStreamf2;byte buf = new byte2048;int num = in.readbuf;while num = -1 {out.writebuf, 0, num;out.flush;num = in.readbuf;}in.close;out.close;}}实验六多线程编程1.随便选择两个城市作为预选旅游目标;实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间1000ms以内,哪个先显示完毕,就决定去哪个城市;分别用Runnable接口和Thread类实现;通过Threadpublic class Hw1Thread extends Thread{String a;private int sleepTime;public Hw1ThreadString a{supera;this.a=a;sleepTime=intMath.random6000;}public void run{int count1=0,count2=0;ifThread.currentThread.getName.equalsIgnoreCase"ShangHai"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count1++;ifcount1>count2 && count1==10{ //判断哪个城市的输出次数先达到10,达到则终止输出}else ifcount2>count1 && count2==10{}}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常}}ifThread.currentThread.getName.equalsIgnoreCase"BeiJIng"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count2++;ifcount1>count2 && count1==10{}else ifcount2>count1 && count2==10{}}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常也可以在方法头抛出throw异常}}}}public class Hw1ThreadText {public static void mainString args throws InterruptedException { Hw1Thread td1=new Hw1Thread"ShangHai";Hw1Thread td2=new Hw1Thread"BeiJing";td1.start;td2.start;}}通过Runnable接口:public class Hw1Thread implements Runnable{String a;private int sleepTime;int count1=0,count2=0;public Hw1ThreadString a{this.a=a;sleepTime=intMath.random1000;}public void run{ //重写run方法ifThread.currentThread.getName.equalsIgnoreCase"td1"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count1++;}catchInterruptedException exception{}; //使用sleep方法需要抛出中断异常ifcount1>count2 && count1==10{}else ifcount2>count1 && count2==10{}}}ifThread.currentThread.getName.equalsIgnoreCase"td2"{forint i=0;i<10;i++{try{Thread.sleepsleepTime;count2++;ifcount1>count2 && count1==10{ //判断哪个城市的输出次数先达到10,达到则终止输出}else ifcount2>count1 && count2==10{}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常}}}}public class Hw1ThreadText {public static void mainString args throws InterruptedException { Hw1Thread td1=new Hw1Thread"ShangHai";Hw1Thread td2=new Hw1Thread"BeiJing";new Threadtd1,"td1".start;new Threadtd2,"td2".start;}}2.用继承Thread类方法实现多线程程序;有两个学生小明和小红,小明准备睡10分钟以后开始听课,小红准备睡1小时以后开始听课,雷老师大喊三声“上课了”,小明醒后把小红吵醒,他们开始听课;学生:小明、小红睡觉:明:10min 红:60min老师:喊三声明醒->红醒;上课;class Stu extends Thread{Thread student1,student2,teacher;Stu {teacher=new Threadthis;student1=new Threadthis;student2=new Threadthis;teacher.setName"雷老师";student1.setName"小明";student2.setName"小红";}public void run {ifThread.currentThread==student1 {Thread.sleep10006010;}catchInterruptedException e {}}ifThread.currentThread==student2 {Thread.sleep10006060;}catchInterruptedException e {}}else ifThread.currentThread==teacher { forint i=1;i<=3;i++ {try { Thread.sleep500;}catchInterruptedException e{} }student1.interrupt; //吵醒student student2.interrupt;}}}public class A{public static void mainString args {Stu s=new Stu;}}实验七图像用户界面1.编程实现如下界面:当在第一个文本框中输入直接回车,会在第二个文本框中得第一个文本框输入值的平方,单击求和,会在第二个文本框中得到两个文本框中的和;import java.awt.;public class Test implements ActionListener{TextField tf,tf1;Button b;Frame f;Test{f=new Frame;f.setSize150, 150;f.setLocation300, 300;Panel p=new Panel;Panel p1=new Panel;Panel p2=new Panel;tf=new TextField10;tf1=new TextField10;b=new Button"求和";p.addtf;p1.addtf1;p2.addb;f.addp,BorderLayout.NORTH;f.addp1,BorderLayout.CENTER;f.addp2,BorderLayout.SOUTH;f.setVisibletrue;f.addWindowListenernew WindowAdapter{public void windowClosingWindowEvent e{System.exit0;}};tf.addActionListenerthis;b.addActionListenerthis;}public static void mainString args {new Test;}public void actionPerformedActionEvent e{ int i;ife.getSource==tf{i=Integer.parseInttf.getText;tf1.setTextString.valueOfii;}else ife.getSource==b{i=Integer.parseInttf.getText+Integer.parseInttf1.getText;tf1.setTextString.valueOfi;}}}2.按照如下图所示的窗体布局,其中包含Label,TextField,Button控件,Label控件的名称为l1,l2,l3,l4,l5;TextField的大小为10,Button控件的名称如图所示;所完成的功能是:单击关闭按钮能够关闭窗体;单击“计算”按钮,将得出1号商品和2号商品的费用并显示在合计文本框中;输入1号商品的价格,如果2号商品的价格和1号商品价格相同,在1号商品显示价格控件中回车,2号商品的价格显示和1号商品相同;输入1号商品的数量,如果2号商品的数量和1号商品数量相同,在1号商品显示数量控件中回车,2号商品的数量和1号商品数量相同;import java.awt.;public class Price {public Price{Frame f=new Frame"商品计费";Label l1=new Label"1号商品价格";Label l2=new Label"数量";Label l3=new Label"2号商品价格";Label l4=new Label"数量";Label l5=new Label"合计";//创建标签Button b=new Button"计算";//创建按钮final TextField tf1=new TextField10;final TextField tf2=new TextField10;final TextField tf3=new TextField10;final TextField tf4=new TextField10;//文本框final TextField tf5=new TextField10;Panel p1=new Panel;Panel p2=new Panel;Panel p3=new Panel;p1.addl1;p1.addtf1;p1.addl2;p1.addtf2;p2.addl3;p2.addtf3;p2.addl4;p2.addtf4;p3.addb;p3.addl5;p3.addtf5;//使用这种布局添加方法可以使用Layout默认布局进行布局f.addp1,BorderLayout.NORTH;f.addp2,BorderLayout.CENTER;f.addp3,BorderLayout.SOUTH;f.setSize400, 150;f.setLocation200, 200;f.setVisibletrue; //以上备注同实验1以下蓝色字体按照题1中的思路编程tf1.addKeyListenernew KeyListener{public void keyPressedKeyEvent e{ife.getKeyCode == KeyEvent.VK_ENTER{tf3.setTexttf1.getText;}}public void keyReleasedKeyEvent e {}public void keyTypedKeyEvent e {}}; //对文本框1"1号商品价格"添加键盘监控器,接收到回车符完成相应功能tf2.addKeyListenernew KeyListener{public void keyPressedKeyEvent e{ife.getKeyCode == KeyEvent.VK_ENTER{tf4.setTexttf2.getText;}}public void keyReleasedKeyEvent e {}public void keyTypedKeyEvent e {}}; //对文本框2"数量"添加键盘监控器,接收到回车符完成相应功能f.addWindowListenernew WindowAdapter{public void windowClosingWindowEvent e{System.exit0;}};//窗体的关闭监控器b.addActionListenernew ActionListener {public void actionPerformedActionEvent e{int p1,p2,num1,num2;p1=Integer.parseInttf1.getText;p2=Integer.parseInttf3.getText;num1=Integer.parseInttf2.getText;num2=Integer.parseInttf4.getText;tf5.setTextInteger.toStringp1num1+p2num2;}};//按钮监控器}public static void mainString args {new Price;}}实验八 JDBC编程1. 用access建立数据库ssm,库中有student表,表中字段有:学号number,姓名name,性别gender,年龄 age,成绩score,科目course;1使用“insert into”向表中添加5个你熟悉的同学的学号、姓名、年龄、成绩和科目,并将添加以后的学生信息显示在控制台端;2使用“select ”条件查询得到成绩是80分以上的同学信息;3使用“update ”将表中学号等于自己学号的成绩修改为85分,并将修改以后的表中所有学生信息显示在控制台端;4 使用“delete ”将表中成绩高于80分以上的学生信息删除,并将删除以后的表中所有学生信息显示在控制台端;//以下代码中已经屏蔽的内容只可执行一次,多次执行会产生重复错误import java.sql.;public class DataTest {public static void mainString args throws SQLException {try {} catch ClassNotFoundException e {e.printStackTrace;}Connectioncon=DriverManager.getConnection"jdbc:odbc:ssm","test","1234";Statement state=con.createStatement;////ResultSet rs1=state.executeQuery"SELECT FROM student";//查找student表中的所有信息//ResultSet rs2=state.executeQuery"select FROM student WHERE score>80";//选择成绩大于80的学僧//ResultSet rs3=state.executeQuery"select FROM student";state.executeUpdate"DELETE FROM student WHERE score>80";//删除分数大于80的学生信息ResultSet rs4=state.executeQuery"select FROM student";whilers1.next{}whilers2.next{}whilers3.next{}/whilers4.next{}con.close;}}。

java实验报告实验3答案

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程实验目的:本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

实验内容:本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。

共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。

):(1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。

然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥?程序:import java.util.*;public class SY3{public SY3(){List list=new ArrayList();list.add(1);list.add(10);list.add(5);list.add(7);list.add(6);list.add(2);list.add(9);list.add(20);list.add(14);list.add(35);list.add("ddy");System.out.println("原序列:");for(int i=0;i<=list.size()-1;i++){System.out.println(list.get(i));}System.out.println("新序列");for(int i=0;i<=list.size()-1;i++){Collections.sort(list);Collections.reverse(list);System.out.println(list.get(i));}}public static void main(String[] args){new SY3();}}结果如图(2)按顺序把下面一组数([1,2] [3,4] [2,2] [6,4] [5,2] [4,4])存放到Map中(注:允许自己自定义任何数),并按key 和value的值进行排序。

Java程序设计课程实验代码及答案

Java程序设计课程实验代码及答案

Java程序设计课程实验上机实践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、编写程序实现输入整数n,输出如下所示由数字组成的菱形。

(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。

4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。

评分规则:分数为60~100分。

选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。

5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。

写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。

设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。

7、编写一个完整的Java Application 程序。

包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。

JAVA实验+答案

JAVA实验+答案
intp=z[4];
}
}
A.ArithmeticExceptionB.NumberFormatException
C.ArrayIndexOutOfBoundsExceptionD.IOException
【解析】当程序执行到“inty=5/x”语句时,发生异常,程序中止执行,因此发生ArithmeticException异常。
实验7
1.编一个程序,包含以下文件。
(1)Shape.java文件,在该文件中定义接口Shape,该接口在shape包中。
属性:PI。
方法:求面积的方法area()。
(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。
属性:圆半径radius。
returnPI*radius*radius;
}
publicdoubleperimeter(){//定义求圆周长的方法
return2*PI*radius;
}
}
//Cylinder.java文件
packagep2;
publicclassCylinderextendsCircle{//创建继承Circle类的Cylinder类
constructor");
}
}
publicclassTest1{
publicstaticvoidmain(String[]args){
SubClassdescendent=newSubClass();
}
}
4)利用多态性编程,创建一个抽象类shape类,定义一个函数Area为求面积的公共方法,再定义Triangle,Rectangle和circle类,实现computerArea方法;增加display方法,显示name和area,并在Triangle,Rectangle和circle类覆盖该方法,并为每个类增加自己的构造方法;在主类中创建不同对象,求得不同形状的面积。

Java 综合实验及练习(参考答案)

Java 综合实验及练习(参考答案)

Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。

(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。

4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。

评分规则:分数为60~100分。

选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。

5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。

写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。

设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。

7、编写一个完整的Java Application 程序。

包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。

java实验及答案

java实验及答案
this.sex = sex;
}
public abstract void disp();
}
2、package P14;
public class Student extends GeneralPeople {
private String school;
public Student() {
super();
(5)设置性别的公有方法
(6)读取性别的公有方法public String getSex( )
如果为true,返回male,否则返回female
(7)设置学校的公有方法
(8)读取学校的公有方法
(9)实现方法disp(),将学生的姓名、性别、所在学校输出到屏幕
3、根据学生类Student派生出大学生类CollegeStudent,要求如下:
return "male";
else
return "female";
}
public void setAge(int a)
{
age=a;
}
public int getAge()
{
return age;
}
public void disp()
{
System.out.println("Name:"+getName()+" Sex:"+getSex()+" Age:"+getAge());
(2)构造方法People (String n, boolean s, int a)
(3)设置姓名的公有方法
(4)读取姓名的公有方法
(5)设置性别的公有方法

Java实验及答案

Java实验及答案

System.out.printf("请用户输入工资:");
float salary;
float _out = 0;
salary=reader.nextFloat();
if(salary<=400&&salary>=0)
{
_out=(float)(salary*(0.5/100));
}
else if(salary>=401&&salary<=600)
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
int year=reader.nextInt(); if(year%4==0&&year%100!=0||year%400==0)
day=29; else
day=28;} switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31;break; case 4: case 6: case 9: case 11: day=30;break; default: } System.out.printf("该月份对应天数为:%d",day); } } 3.2 public class Sanjiujiu { public static void main(String args[]) { for(int i=1;i<=9;i++) {

java实验报告答案

java实验报告答案

java实验报告答案
Java实验报告答案
实验目的:通过编写Java程序,掌握面向对象的编程思想和Java语言的基本语法。

实验内容:编写一个简单的学生信息管理系统,包括学生类和主程序类。

实验步骤:
1. 创建一个学生类,包括学生的姓名、年龄、性别等属性,并实现相应的get 和set方法。

2. 在主程序类中,创建学生对象并调用学生类的方法,实现对学生信息的管理和操作。

3. 编写测试用例,验证程序的正确性和稳定性。

实验结果:通过实验,我掌握了Java语言的基本语法和面向对象的编程思想,能够编写简单的Java程序,并且能够对程序进行测试和验证。

实验总结:通过这次实验,我对Java语言有了更深入的了解,掌握了面向对象的编程思想,提高了编程能力和解决问题的能力。

结论:通过本次实验,我对Java语言有了更深入的了解,掌握了面向对象的编程思想,提高了编程能力和解决问题的能力。

这对我以后的学习和工作都有很大的帮助。

Java程序设计答案最精版(附实验指导)

Java程序设计答案最精版(附实验指导)

Java程序设计--习题答案第1章3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用?一台计算机由硬件和软件组成。

一台典型的计算机由五大部分组成。

这五大部分是:运算器,控制器,存储器,输入设备和输出设备。

运算器是执行算术运算和逻辑运算的部件。

控制器是向计算机其他部分发送命令的部件。

存储器是计算机用来存储数据、信息的部件。

输入设备就是外界向计算机输入信息设备。

输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。

9、将以下十进制数转换为对应的二进制数(1)32 (2)97 (3)256 (4)500(1)100000 (2)1100001 (3)100000000 (4)111110100第2章1.Java语言有哪些主要特点。

平台独立性安全性多线程网络化面向对象3.Java Application的开发步骤有哪些。

Java Application的开发步骤:(1)下载JDK软件并安装;(2)配置相应的环境变量(path和classpath);(3)编写Java源程序(文本编辑器或集成开发环境IDE);(4)编译Java源程序,得到字节码文件(javac *.java);(5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。

环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。

第3章1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。

a a2 3a *a _a $a int a%在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。

另外,Java语言对标识符的有效字符个数不做限定。

合法的标识符:a a2 _a $a5.数据类型强制转换的原则是什么?如何转换?对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。

Java 综合实验及练习(参考答案)

Java 综合实验及练习(参考答案)

Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。

(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。

4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。

评分规则:分数为60~100分。

选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。

5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。

写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。

设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。

7、编写一个完整的Java Application 程序。

包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。

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

double radius; // 半径
public Circle(double r){
radius = r;
}
public double area(){ // 实现 Shape 接口中的方法(这是必须的)
return PI*radius*radius;
}
public double perimeter(){ // 定义求圆周长的方法
ArithmeticException 异常。
5.运行下面程序时,会产生什么异常?( C )
public class X7_1_5 {
public static void main(String[] args) {
int[] z = {1,2,3,4};
int p = z[4];
int x = 0;
public void disp(int n) {
int sum=0; for(int i=1;i<=n;i++) {
sum=sum+i; } System.out.println(sum); } } class Pro implements OneToN { public void disp(int n) { long pro=1; for(int i=1;i<=n;i++) {
ArrayIndexOutOfBoundsException 异常。
6.下列程序执行的结果是( B )。
public class X7_1_6 { public static void main(String[] args) { try{ return; } finally{ System.out.println("Finally"); } }
}
A.程序正常运行,但不输出任何结果 B.程序正常运行,并输出 Finally
C.编译通过,但运行时出现异常
D.因为没有 catch 子句,因此不能通过编译
【解析】在执行 try-catch-finally 语句块时,最后必须执行 finally 语句块中的内容,而本程序
没有异常发生,因此程序正常运行,并输出 Finally。
实验 8
一、选择题
1.关于异常的含义,下列描述中最正确的一个是( D )。
A.程序编译错误
B.程序语法错误
C.程序自定义的异常事件
D.程序编译或运行时发生的异常事件
【解析】异常就是程序编译或运行时发生的异常事件。
2.自定义异常时,可以通过对下列哪一项进行继承?( C )
A.Error 类
B.Applet 类
属性:圆半径 radius。
方法:构造方法;实现接口中求面积方法 area();求周长方法 perimeter()。
(3)“Cylinder.java”文件,在该文件中定义圆柱体类 Cylinder,该类口在 cylinder 包中,
继承圆类。
属性:圆柱体高度 height。
方法:构造方法;求表面积方法 area();求体积方法 volume()。
【编程分析】本题主要考察接口、包、继承、封装等问题。编程步骤如下:
第一步:首先创建 p1 包,在其中创建 Shape 接口
// Shape.java 文件
package p1; // 创建 p1 包
public interface Shape{
// 定义 Shape 接口

}
第二步:创建 Circle 类和 Cylinder 类,它们都定义在 p2 包中。
super(r); height = h; } public double area(){ return 2*PI*radius*radius+2*PI*radius*height; } public double volume(){ return PI*radius*radius*height; } }
// Circle.java 文件
package p2; // 创建 p2 包
import p1.*;
public class Circle implements Shape{ // 定义实现 Shape 接口的 Circle 类

}
// Cylinder.java 文件
package p2;
public class Cylinder extends Circle{ // 创建继承 Circle 类的 Cylinder 类
2)定义一个接口 OneToN,在接口中包含一个抽象方法 disp()。定义 Sum 和 Pro 类,并分别 用不同代码实现 ONeToN 的 disp()方法,在 Sum 的方法中计算 1~n 的和,在 Pro 的方法中计 算 1~n 的乘积 interface OneToN {
public void disp(int n); } class Sum implements OneToN {
}
3)改错,上传正确答案,并以注释形式给出错误原因
class SuperClass
{
public SuperClass(String msg)
{ System.out.println("SuperClass constructor: " +msg);}
}
class SubClass extends SuperClass
实验 7
1. 编一个程序,包含以下文件。
(1)Shape.java 文件,在该文件中定义接口 Shape,该接口在 shape 包中。
属性:PI。
方法:求面积的方法 area()。
(2)Circle.java 文件,在该文件中定义圆类 Circle,该类在 circle 包中,实现 Shape 接口。
【参考程序】
// X5_3_6.java 文件
package p3;
import p2.*;
public class X5_3_6 { // 定义主类
public static void main(String[] args) {
Circle cir1 = new Circle(120.5);
Circle cir2 = new Circle(183.8);
// 定义 Shape 接口
double PI=Math.PI;
double area(); // 求面积方法
}
// Circle.java 文件
package p2; // 创建 p2 包
import p1.*;
public class Circle implements Shape{ // 定义实现 Shape 接口的 Circle 类
{
public SubClass(String msg)
{
Super(msg);
//父类没有无参的构造方法,应采用 super 显示调用父类的构造
方法
System.out.println("SubClass constructor");
}
}
public class Test1 {
public static void main(String[] args) {
int x = 0;
int y = 5/x;
int[] z = {1,2,3,4};
int p = z[4];
}
}
A.ArithmeticException
B.NumberFormatException
C.ArrayIndexOutOfBoundsException
D.IOException
【 解 析 】 当 程 序 执 行 到 “ int y = 5/x ” 语 句 时 , 发 生 异 常 , 程 序 中 止 执 行 , 因 此 发 生
System.out.println("cy2.area: "+cy2.area());
System.out.println("cy2.volume: "+cy2.volume());
}
}
// Shape.java 文件
package p1; // 创建 p1 包
public interface Shape{

}
第三步:创建主类,在其中的 main()方法中创建对象,实现相应的功能。
// X5_3_6.java 文件
package p3;
import p2.*;
public class X5_3_6 { // 定义主类
public static void main(String[] args) {

}
}
System.out.println("cir1.area: "+cir1.area());
System.out.println("cir1.perimeter: "+cir1.perimeter());
System.out.println("cir2.area: "+cir2.area());
System.out.println("cir2.perimeter: "+cir2.perimeter());
C.Exception 类及其子类
D.AssertionError 类
【解析】自定义异常类时,该类必须继承 Exception 类及其子类。
3.对应 try 和 catch 子句的排列方式,下列哪一项是正确的?( A )
A.子类异常在前,父类异常在后
B.父类异常在前,子类异常在后
C.只能有子类异常
pro=pro*i; } System.out.println(pro); } }
相关文档
最新文档