当前位置:文档之家› Java网络编程实验一到四答案

Java网络编程实验一到四答案

Java网络编程实验一到四答案
Java网络编程实验一到四答案

实验一开发工具和语言基础

By光绪

一、实验目的和要求

1.掌握JDK的安装、环境配置和使用;掌握JBuilder或Eclips的安装和使用。

使用JDK、JBuilder或Eclips编辑、编译和运行Java程序。

2.掌握Java的语言基础。

3.掌握简单语句、标准输入输出和选择语句的编程。

二、实验内容

1.JDK 开发环境的安装配置实践

在Windows 下,直接运行下载的j2sdk1.4.2.exe 文件,根据安装向导安装到一个目录,例如安装到C:\j2sdk1.4.2。

设置环境变量:如果操作系统是Win 98/Me,可以用记事本直接编辑Autoexec.bat,添加下面命令行:

PATH=%PATH%.c:\j2sdk1.4.2\bin

SET JA V A_HOME=c:\j2sdk1.4.2

SET CLASSPATH=..c:\j2sdk1.4.2\lib\tools.jar.c:\j2sdk1.4.2\lib\dt.jar

保存后重新启动计算机,这样所添加的环境变量才会有效。

如果操作系统是Win2000 或xp,按如下方式配置环境变量:

右键单击"我的电脑",在弹出菜单中选择"属性"→"系统特性" →"高级" →"环境变量",弹出环境变量对话框,就可以编辑系统的环境变量了。添加PATH、JA V A_HOME 和CLASSPATH 三个变量,变量值同上。

最后编写并运行一个Java 程序,使其输出:“Java 你好!”

2.JBuilder或Eclips的安装使用实践

在计算机上安装JBuilder或Eclips,然后编写并运行一个Java 程序,使其输出:“Java 你好!”

3.熟悉Java工程结构、Java程序结构及上机运行过程

1)编写一个最简单的Java程序,只输出一句话“Java 你好!”。

要求:类名为MyJava1, 公共类(即类名前有public修饰)。程序运行通过后打开工程文件夹,观察文件夹的结构,其中的文件及其文件名称。

2)在内容窗口中修改上面程序中的类名,观察有什么反映,想一想是什么原因?

3)在内容窗口中对1)的程序进行如下修改:

将类名前的public修饰符去掉,观察有什么反映,想一想是什么原因?

4)在1)的程序最后再加一个公共类:

public class MyJava2 { }

观察有什么反映,想一想是什么原因?

5)在1)的程序中再加一个非公共类:

class MyJava2 { }

观察程序能运行否。

public class Myjava1

{

public static void main(String args[])

{

System.out.println("java,你好!");

}

}

4.熟悉标准输出语句

编写一个程序,在主方法中写入如下语句:

System.out.println(1+2.3);

System.out.println("abc"+"def");

System.out.println("ab"+1);

System.out.println("abc"+1+2.3);

System.out.println(1+2.3+"abc");

System.out.println(1+"abc" +2.3);

观察运行结果,想一想为什么有这样的结果。

5.分析下面的程序,它有什么错误,应如何改正?再将程序输入机器,看有什么错误,改正(仅修改初值)后运行它,观察输出的值,理解基本数据类型及基本数据类型常值的表示。

public class Test

{ public static void main(String args[])

{ byte b=0x55;

short s=0400;

inti=100000;

long l=0xff;

char c1="A";

char c2=65;

float f=.25;

double d=.00001234;

boolean bool=true;

System.out.println("byte b="+b);

System.out.println("short s="+s);

System.out.println("inti="+i);

System.out.println("long l="+l);

System.out.println("char c1="+c1);

System.out.println("char c2="+c2);

System.out.println("float f="+f);

System.out.println("double d="+d);

System.out.println("boolean bool="+bool);

}}

6.编写一程序,运行后从键盘输入三个整数,输出其中的最大数。(if语句)importjava.util.Scanner;

public class Test16{

public static void main(String args[])

{

System.out.println("请输入三个数:");

doublea,b,c;

Scanner scan=new Scanner(System.in);

a=scan.nextInt();

b=scan.nextInt();

c=scan.nextInt();

if(a>b) {a=a;}

else{a=b;}

if(a>c) {a=a;}

else{a=c;}

System.out.println("最大的数字是:"+a);

}

}

7.编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。百分制与五分制的对应如下:(switch语句)

100~90 — A, 89~80 — B, 79~70 — C, 69~60 — D, <60 — E

importjava.util.Scanner;

public class Test17

{

public static void main(String args[])

{

System.out.println("请输入成绩:");

Scanner scan=new Scanner(System.in);

int grade=scan.nextInt();

switch(grade/10)

{

case 10:{System.out.println("A"); break;}

case 9:

{System.out.println("A"); break;}

case 8:{System.out.println("B"); break;}

case 7:{System.out.println("C"); break;}

case 6:{System.out.println("D"); break;}

default:{System.out.println("E"); break;} }

}

}

实验二 流程控制程序设计

一、实验目的和要求

掌握Java 流程控制语句、Math 类、数组的编程方法。

要求至少完成实验内容题的70%。

二、实验内容

1.打印一个三角形的1~9的乘法表。

p u b T 21{

public static void main(String args[])

{

System.out.print("*"+" ");

for(int k=1;k<10;k++)

{System.out.print(k+" ");}

System.out.print("\n");

for(inti=1;i<10;i++)

{ System.out.print(i+" ");

for(int j=1;j<10;j++)

{ if(j<=i){System.out.print(i*j+" "); }

} System.out.print("\n");

}

} }

2.编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。(while,switch语句)

importjava.util.Scanner;

public class Test22{

public static void main(String agrs[])

{

Scanner scan=new Scanner(System.in);

System.out.println("请输入月份数(整数):");

int month;

inti=1;

while(i<=12)

{

i++;

month=scan.nextInt();

switch(month)

{

case 12:System.out.println("December!");break;

case 11:System.out.println("November!");break;

case 10:System.out.println("October!");break;

case 9:System.out.println("September!");break;

case 8:System.out.println("August!");break;

case 7:System.out.println("July!");break;

case 6:System.out.println("June!");break;

case 5:System.out.println("May!");break;

case 4:System.out.println("April!");break;

case 3:System.out.println("March!");break;

case 2:System.out.println("February!");break;

case 1:System.out.println("January!");break;

default:System.out.println("请输入合法数据!");

}

};

}

}

3.打印图案:一个由n行星花组成的三角形。如n=5时的图案为:

public class Test23{

public static void main(String args[])

{

for(int i=0;i<=5;i++)

{

for(int k=5;k>i;k--)

{

System.out.print(" ");

}

for(int j=0;j

{

System.out.print("*"+" ");

}

System.out.print("\n ");

}

}

}

4.打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如153是一个“水仙花数”,因为153=13+53+33。importjava.util.Scanner;

public class Test{

public static void main(String args[])

{

Scanner scan=new Scanner(System.in);

System.out.println("请输入一个整数:");

intnum=scan.nextInt();

inti=0,sum=0,a=num;

while(((num*10)/10)!=0)

{

i=num%10;

num=(num-i)/10;

sum=sum+(i*i*i);

}

if(a==sum){

System.out.println(a+"是水仙花数");

}

else

{

System.out.println(a+"不是水仙花数");

}

}

}

5.编写一个程序,从键盘读一个年份的数字,然后判断该年是否是闰年,如果是就输出“闰年”,如果不是就输出“非闰年”。

闰年的条件是满足以下两个条件之一:

1)能被4整除,但不能被100整除;

2)能被4整除,又能被400整除。

importjava.util.Scanner;

public class Test{

public static void main(String args[]){

Scanner scan=new Scanner(System.in);

System.out.println("请输入年份:");

int year=scan.nextInt();

if(((year%4==0)&&(year%100!=0))||((year%4==0)&&(year%400==0)))

{

System.out.println(year+"是闰年!");

}

else

{

System.out.println(year+"不是闰年!");

}

}

}

6.统计个位数是6,并且能被3整除的五位数共有多少个

public class Test{

public static void main(String args[])

{

int sum=0;int test=0;int i=0;

for(int k=10000;k<100000;k++)

{

intnum=k;

while(((num*10)/10)!=0)

{

i=num%10;

num=(num-i)/10;

test=i+test;

}

if(((i%10)==6)&&(test%3==0))

{

sum++;

test=0;

}

}

System.out.println("个位数是6,并且能被3整除的五位数共有"+sum+"个") }

}

7.编写一个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个数,然后输出其中的最小数。

importjava.util.Scanner;

public class Test{

public static void main(String args[])

{

int a[]=new int[10];

inti=0;

Scanner scan=new Scanner(System.in);

for(i=0;i<10;i++)

{

a[i]=scan.nextInt();

}

for(i=0;i<9;i++)

{

if(a[i]

{

a[i+1]=a[i];

}

}

System.out.println(a[i]);

}

}

8.编写一个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个数,然后排序(升序)后输出。

importjava.util.Scanner;

public class Test28

{

public static void main(String args[])

{

inti,j,t,n=10;

int a[]=new int[10];

Scanner scan=new Scanner(System.in);

System.out.println("请输入10个数字:");

for(i=0;i<10;i++)

{

a[i]=scan.nextInt();

}

for(j=0;j

{

for(i=0;i

{

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

}

System.out.println("排序后的序列:");

for(i=0;i<10;i++)

{

System.out.print(a[i]+" ");

}

}

}

9.编写一个程序,找出5行5列整数矩阵中的最小元素,矩阵元素由键盘输入。importjava.util.Scanner;

public class Test28

{

public static void main(String args[])

{

Scanner scan=new Scanner(System.in);

int a[][]=new int[5][5];

inti,j;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{

a[i][j]=scan.nextInt();

}

for(i=0;i<5;i++)

for(j=0;j<4;j++)

{

if(a[i][j]

a[i][j+1]=a[i][j];

}

for(i=0;i<4;i++)

{

if(a[i][4]

{a[i+1][4]=a[i][4];}

}

System.out.println("最小的数字是:"+a[4][4]);

}

}

10.编写一个程序,计算出5行5列整数矩阵的每行之和。importjava.util.Scanner;

public class Test28

{

public static void main(String args[])

{

Scanner scan=new Scanner(System.in);

int a[][]=new int[5][5];

int b[]={0,0,0,0,0};

inti,j;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{

a[i][j]=scan.nextInt();

}

for(i=0;i<5;i++)

for(j=0;j<4;j++)

{

b[i]+=a[i][j];

}

System.out.println("每行的和是:");

for(i=0;i<5;i++)

{

System.out.print(b[i]+" ");

}

}

}

11.编写一个程序,在其中定义一个6 6的二维整型数组, 利用随机函数产生36个10~20之间的随机整数放入,然后将数组输出到屏幕上(6行6列格式)。最后计算出数组中对角线元素的平方根和。

public class Test28

{

public static void main(String args[])

{

int a[][]=new int[6][6];

inti,j;

double sum=0;

for(i=0;i<6;i++)

for(j=0;j<6;j++)

{

a[i][j]=(int)(10+Math.random()*(20-10+1));

}

for(i=0;i<6;i++)

{

for(j=0;j<6;j++)

{

System.out.print(a[i][j]+" ");

if(i==j)

{

sum+=Math.sqrt(a[i][j]);

}

}

System.out.print("\n");

}

System.out.println("对角线平方根的和是:"+sum);

}

}

实验三面向对象程序设计

一、实验目的和要求

掌握类、对象、方法、继承、接口的编程技术;

要求至少完成实验内容题的70%。

二、实验内容

1.编一程序,求两个正整数m、n的最大公约数。

要求程序中有两个方法,分别使用循环和递归求最大公约数,最后在主方法中分别调用这两个方法求解56与91的最大公约数。

提示:用辗转相除法。

方法:(1) 求m除n的余数r;

(2) 如果r为0,则n为最大公约数,结束。否则转(3);

(3) 用n置m,用r置n ,回到(1)。

importjava.util.Scanner;

public class Test

{

public static int test1(intm,int n)

{

for(int r=m%n;;)

{

r=m%n;

if(r==0)

{

return n;

}

else

{

m=n;

n=r;

}

}

}

public static int test2(intm,int n)

{

if(m%n==0)

return n;

else

return test2(n,m%n);

}

public static void main(String args[])

{

Scanner scan =new Scanner(System.in);

System.out.println("请输入两个正整数:");

int x=scan.nextInt();

int y=scan.nextInt();

System.out.println("循环方法:"+x+","+y+"的最大公约数是:"+test1(x,y));

System.out.println("递归方法:"+x+","+y+"的最大公约数是:"+test2(x,y));

}

}

2.编写一个完整的Java Application程序,其中设计一个复数类Complex,利用它验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i 。复数类Complex 的设计必须满足如下要求:

1)Complex 的属性有:

realPart:int型,代表复数的实数部分;

maginPart:int型,代表复数的虚数部分。

2)Complex 的方法有:

Complex():构造方法,将复数的实部和虚部都置0;

Complex(int r , inti ):构造方法,形参r 为实部的初值,i为虚部的初值。3)Complex complexAdd(Complex a):将当前复数对象与形参复数对象相加,最后的结果仍是一个复数对象,返回给此方法的调用者。

4)String toString(): 把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a 和b分别为实部和虚部的数据。

class Complex

{

privateintrealPart;

privateintmaginPart;

public Complex(intr,inti)//有参的构造函数

{

realPart=r;

maginPart=i;

}

public Complex()//无参的构造函数

{

realPart=0;

maginPart=0;

}

public void complexAdd(Complex a)

{

this.realPart+=a.realPart;

this.maginPart+=a.maginPart;

}

public String toString()

{

return (realPart+"+"+maginPart+"i");

}

}

public class Test

{

public static void main(String args[])

{

Complex a=new Complex(1,3);

Complex b=new Complex(3,4);

System.out.print(a.toString()+"+"+b.toString()+"=");

https://www.doczj.com/doc/7d13308565.html,plexAdd(b);

System.out.println(a.toString());

}

}

3.编写一个包含圆类的程序,并为圆类设计几个构造方法和一般方法,在主方法中创建一个圆类对象并输出它的周长和面积。

要求:

属性有3个:x,y,r,分别放置圆心坐标和半径;

构造方法有2个。一个是无参的,用于设置3个属性的值都为0;另一个有参的,用于设置3个属性的值,以确定一个具体的圆。

计算周长的方法:double zc();

计算面积的方法:double mj()。

importjava.util.Scanner;

class Circle

{

private double x;

private double y;

private double r;

static double PI=3.1415926;

public Circle(double X,doubleY,double R)//有参的构造函数

{

x=X;y=Y;r=R;

}

public Circle()//无参的构造函数

{

x=0;y=0;r=0;

public double zc()

{

return 2*PI*r;

}

public double mj()

{

return PI*r*r;

}

}

public class Test

{

public static void main(String args[])

{

Circle c=new Circle(1,1,4);

System.out.println("圆的周长:"+c.zc()+",面积"+c.mj());

}

}

4.编写一个程序,它含有一个圆类、圆柱类和主类。

要求:

1)圆类参考上一题中的圆类;

2)圆柱类:继承圆类,并加入一个属性h(高);

构造方法(给4个属性赋值);

计算面积的方法(double mj());

计算体积的方法(double tj())。

注意,要充分利用父类的方法。

3)主类:在主方法中创建圆和圆柱类的对象,然后计算并输出它们的面积及圆柱的体积。

importjava.util.Scanner;

class Circle

{

public double x;

public double y;

public double r;

static double PI=3.1415926;

public Circle(double X,doubleY,double R)//有参的构造函数

{

x=X;y=Y;r=R;

}

public Circle()//无参的构造函数

x=0;y=0;r=0;

}

public double zc()

{

return 2*PI*r;

}

public double mj()

{

return PI*r*r;

}

}

class Cylinder extends Circle

{

public double h;

public Cylinder(intX,intY,intR,int H)

{

x=X;y=Y;r=R;h=H;

}

public double tj()

{

return h*PI*r*r;

}

public double mj()

{

return 2*PI*r*r+r*h;

}

}

public class Test

{

public static void main(String args[])

{

Circle c=new Circle(1,1,4);

Cylinder z=new Cylinder(1,1,4,6);

System.out.println("圆的周长:"+c.zc()+",面积"+c.mj());

System.out.println("圆柱的面积:"+z.mj()+",体积"+z.tj());

}

}

5.编写一个含有5个类的程序:

类Person:

属性:编号、姓名、性别;

构造方法:确定编号和姓名;

一般方法:修改编号、姓名,获取编号、姓名。

类Teacher:继承类Person并增加:

属性:系别;

构造方法:调用父类的构造方法;

一般方法:修改、获取系别。

类Student:继承类Person并增加:

属性:班级;

构造方法:调用父类的构造方法;

一般方法:修改、获取班级属性值。

类Classes:

属性:班级名称,学生名单(Student类对象的数组);

构造方法:确定班级名称;

一般方法:建立学生名单,输出学生名单。

类Main:

主类。主方法中创建一个班级,然后建立该班级的学生名单,最后

输出学生名单。

importjava.util.Scanner;

class Person

{

publicint id;

public String name;

public String sex;

public Person(intID,String Name)

{

id=ID;name=Name;

}

public void setPerson(intID,String Name)

{

id=ID;name=Name;

}

publicintgetPersonID()

{

return id;

}

public String getPersonName()

{

return name;

}

}

class Teacher extends Person

{

String type;

public Teacher(intID,String Name){super(ID,Name);}

public void setType(String Type)

{

type=Type;

}

public String getTeacherType()

{

return type;

}

}

class Student extends Person

{

String classname;

public Student(intID,String Name){super(ID,Name);}

public void setClassName(String ClassName)

{

classname=ClassName;

}

public String getClassName()

{

returnclassname;

}

}

class Classes

{

String classesname;intnum=0;

Student studentnames[]=new Student[10];

Classes (String ClassesName){classesname=ClassesName;}

void settable()

{

System.out.println("请输入学生人数:");

Scanner scan=new Scanner(System.in);

num=scan.nextInt();

for(inti=0;i

{

System.out.println("请输入第"+(i+1)+"个学生的学号和姓名:");

studentnames[i]=new Student(scan.nextInt(),scan.next());

}

}

void gettable()

{

System.out.println("班级名称:"+classesname);

System.out.println("学号姓名");

for(inti=0;i

{

System.out.println(studentnames[i].id+" "+studentnames[i].name);

}

}

}

public class Test

{

public static void main(String args[])

{

Classes c=new Classes("计科一班");

c.settable();

c.gettable();

}

}

6.请仔细阅读下面的程序,分析程序的结构和输出结果。再将程序上机运行,验证输出结果。(重点理解:抽象类、抽象方法、(匿名)内部类、匿名对象)abstract class A{abstract String getS();}

class Test

{ public static void main(String args[]){

System.out.println(new A(){ String getS(){ return "抽象?匿名?";}}.getS());

}

}

输出结果:抽象?匿名?

7.请仔细阅读下面的程序,分析程序的结构和输出结果。再将程序上机运行,验证输出结果。

(重点理解:接口、接口实现方法、(匿名)内部类、匿名对象)

interface I{ String getS(); }

class Test

{ public static void main(String args[]){

System.out.println(new I(){ public String getS()

{ return "接口和内部类!";}}.getS());

}

}

输出:接口和内部类!

(请比较本程序与上题程序的不同之处)

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

JAVA实验3-异常处理和常用实用类-报告

信息工程学院1 《Java语言程序设计》实验报告 学院: 班级: 姓名: 学号: 成绩: 一、实习目标 (1)掌握Java的异常处理机制及相关实现方法; (2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发; (3)掌握Java中正则表达式的基本用法。 二、实验过程 实验题1 try-catch练习: JAVA_API: getMassage():返回此throwable或exception的详细消息字符串,正数除0 返回Infinity,负数除0返回-Infinity。 toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的 名称,返回此throwable的简短描述。 printStackTrace():将错误的详细信息追踪到代码中具体某一行,将throwable 及其追踪输出至标准错误流。 代码截图: CatchError类: 实验报告的内容与格式按任课教师的要求书写。

MainTest类:

运行结果: 实验题2 用户自定义异常: 在ExceptionTest类中进行成绩录入和平均成绩的计算。 StasticScore类为成绩录入的具体方法,并进行异常检测。 ScoreException类继承StasticScore,输出错误提示。 代码截图: ExceptionTest类: ScoreException类:

StasticScore类:

运行结果:

实验题3 String & StringBuffer的使用: JAVA_API: Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,返回-1。 Static String valueOf(int i)函数:返回int参数的字符串表示形式。该表示形式正是单参数的interger.toString方法返回的结果。 Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,则返回-1。 Public StringBuffer append(String str)函数:将指定的字符串追加到此字符序列。按顺序追加String变量中的字符,使此序列增加到该变量的长度。 代码截图: TestOfKeyword类:

java 程序设计 实验五

C H A N G Z H O U U N I V E R S I T Y 实验报告 课程名称:JAVA程序设计 学生姓名:文浩班级计算机141 学号14416122 学院(系):信息数理学院指导教师:吕猛 实验时间:2016 年12 月 6 日实验名称:实验五基于Swing的图形用户界面开发实验

实验五基于Swing的图形用户界面开发实验 一实验容 (1)完成开发界面如图所示,实现如下功能 ①选中“查看已有名片”按钮,程序处于查看状态,可以在“名片列表”中选择要查看的名片,程序在“名片详实信息”栏显示该名片的详实信息,此状态中名片信息处于不可编辑状态 ②选中“添加新名片”按钮,程序处于添加状态,所有关于明天信息的项目都处于可编辑状态,设置完成相关信息后,单击“添加”按钮,在“名片列表”中出现新添加名片的名称。单击“清空”按钮可以清空还没提交的容 ③在查看状态和添加状态下,都可以通过点击“爱好”、“学历”单选按钮以显示名片的不同附加信息 (备注:名片附加信息部分,当点击“爱好”按钮时显示的如图1所示,当点击“学历”按钮时显示如图2所示。) 图1

图2 (2)记事本设计与实现 如图所示(1)编程实现如图所示的界面(2)实现文件、编辑、格式、查看,帮助菜单(3)实现记事本的基本功能

二实验目的 (1)理解组件的分类 (2)掌握容器、布局管理器、普通组件的使用 (3)理解事件处理机制的工作原理 (4)掌握事件的添加和功能代码的编写方法 三实验过程 (1)问题分析 答:名片的设计除了使用最基本的组件,如JButton,Jlist,JCheckBox,JTextField, JRadioButton, CardLayout以外,最主要的是逻辑事件的编写,在成功布局完见面后,就需要编写事件处理。首先,由于是名片信息,保存着一个人的基本信息,所以可以用一个类来表示,如PersonInf类,其次,由于是多个人的信息,可以通过ArrayList 来存放类;其次就是当点击按钮的时候,正确添加和显示信息,此处用到cardLayout 布局,可以减少界面的复杂度,在使用JList的时候,除了加滚动条意外,还需要listModel 获取数据等。 (2)代码编写 答: (1) public class PersonInf { public String yourname; public String address1;

java 异常处理

实验五异常处理 【实验目的】 1.了解Java 中异常处理(exception)的作用。 2.掌握异常处理的设计方法。 【实验内容】 一.Java的异常处理。源文件是Ex4_1.java。要捕捉的异常是除数为零和数组下标越界。 通过修改a和c[]下标值体验程序。 public class Ex4_1 { public static void main (String[] args) {int a, b; int c[]={1,2,3}; try{ a=10; b=100/a; System.out.println ("当前a值:"+a); c[2]=200; System.out.println ("当前数组长:"+c.length); }catch(ArithmeticException e) { System.out.println ("除零错误:"+e); } catch(ArrayIndexOutOfBoundsException e) { System.out.println ("数组下标越界:"+e); } finally { System.out.println ("我是finally");} System.out.println ("我能被正常执行到"); } } 【思考问题】 ①先运行上面没有错误程序,观察运行结果。 ②按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那 些语句没有被执行,为什么? 块外那些语句可被执行到,为什么? ◆修改a=0,保持c[2]=200; ◆保持a=10,修改c[3]=200, ◆修改a=0,修改c[2]=200; ③再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么?2.自定义异常类。注意throw、throws的使用。源文件是Ex4_2.java。 class MyException extends Exception //自定义异常类 {public String toString() { return "除数等于零"; } }

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); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

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; else return ji(n-1)*n; } } 习题2.6 public 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++)//打印* {

Java程序设计上机实验

班级号一学号_姓名一题号java(多文件应压缩为rar): 实验1:熟悉上机环境,编写并运行简单的java程序(3学时)实验目的 (1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用 ⑵熟悉Java Application 和Applet程序的结构及开发步骤 ⑶熟练掌握if语句的使用 ⑷掌握Math.sqrt()等常用数学函数的用法 ⑸熟悉System.out.print()的用法 实验内容及要求 按Java Application 和Applet两种方式分别编写程序,求 一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。 思考并验证 (1)分别给定以下几组系数,给出输出结果 a=1,b=5,c=3 a=4, b=4, c=1 a=2, b=3, c=2 : + i ________ +_ _______ i ⑵如果程序的public类的类名和源文件的文件名不一样会有什

么问题? (3) 将类的public 修饰去掉是否可行?接着再将类名换为其它是 否可行?这说明了什么? (4) 将程序中main 前面的public 去掉,重新编译执行你的程序,你看到 了什么信息? (5) 将程序中main 前面的static 去掉,重新编译执行你的程序,你看到 了什么信息?为什么? (6) 本次上机中,你还遇到了什么问题,是如何解决的?

班级号一学号_姓名一题号java (多文件应压缩为rar ): 实验 2:控制流程 1(3 学时 ) 实验目的 (1) 进一步熟悉使用 if 语句 (2) 掌握循环语句实现循环的方法 实验内容及要求 输出时,只使用下面的语句: System.out.print( “ ”); // 不换行 System.out.print( “* ”); // 并且不换行 System.out.print( “+”); // 并且不换行 System.out.println( “*”;) // 并换行 编写程序输出(注:在图形的中心处有一个加号 ' +'): 思考并验证 下面程序片段给出了从键盘输入一个整数的方法: import java.io.*; 输出一个空格, 并且 输出一个字符' * ', 输出一个字符' +', 输出一个

第五章Java语言异常处理-实验题目

第五章Java语言异常处理--实验题目 一、实验目的 1. 掌握Java的异常处理机制。 2. 掌握try、catch、throws和finally这5个关键字的用法。 3. 掌握成员的几个异常类。 4. 掌握自定义异常的使用。 二、实验内容 1.编写程序,从键盘上输入两个数。将第一个数除以第二个数并显示结果;处理所有可能的异常。 2.写出下面程序运行的结果: 3.写出下列程序的输出结果。

4.有下列程序: 若用下面方式执行该程序,则baz的值为( )。 java Test Red Green Blue (A)“”(B)null (C)"Red”(D)”BIue”(E)”Green”(F)代码不能编译(G)程序抛出异常5.有下列程序: 该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常 6.有下列程序:

该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常7.修改下列程序的错误之处。 8.写出下列程序的运行结果。

9.编写一个程序,要求从键盘输入一个double型的圆的半径,计算并精出其面积。 测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。10.编写一个应用程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打印出字符串参数。添加一个finally块并打印一条消息。 11.创建一个自定义的异常类,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法.令其打印出保存下来的String对泉。再编写一个类,在main()方法中使用try--catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常井打印出传递的String消息。

JAVA异常实验报告

一. 实验目的及实验环境 实验目的:1.理解JA V A对异常的处理 2.掌握自定义异常的定义方式 实验环境:eclipse 4.4 二. 实验内容 1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n 的和;当n<0时,方法抛出一个受检查的ArgumentException异常。ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试它们。 三.方案设计 1.定义三个类Sum,ArgumentException,Test类 2.分别在类中实现加法,异常抛出和测试 四.测试数据及运行结果 1.正常测试数据(3组)及运行结果;

2.非正常测试数据(2组)及运行结果。 五.总结 1.实验过程中遇到的问题及解决办法; ①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。所以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。 ②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直

到结束。 2.对设计及调试过程的心得体会。 中断,影响程序正常运行的事件称为异常。异常处理是使程序从故障中恢复,他包括提示异常信息、不产生无效结果和释放资源三方面内容。其中,显示异常信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块实现。 附代码 public class Add { public int addContinue(int i) throws ArgumentException{ int sum=0; if( i<0){ throw new ArgumentException(i); } for(int n=0;n<=i;n++){ sum=sum+n; } return sum; } } public class ArgumentException extends Exception { private int n; public ArgumentException(int n) { this.n = n; } public int getN(){ return n; } } public class test { public static void main(String[] args){ Add s = new Add(); try { System.out.println(s.addContinue(-1)); } catch (ArgumentException e) { System.out.println(e.getN()); } } }

最新JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

Java程序设计实验报告分析

学生实验报告 (理工类) 课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭 所属院部:软件工程学院指导教师:王倩倩 20 15 ——20 16 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩: 批改教师:王倩倩批改时间:

一、实验目的和要求 (1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序。记录操作过程。 Java应用程序参考如下: 思考:1. 适当添加注释信息,通过javadoc生成注释文档; 2. 为主方法传递参数“Hello world”字符串,并输出; 3. 压缩生成".jar"文件。 (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 记录操作过程。 Java小应用程序参考如下:

实验三 Java异常处理

实验三Java异常处理 一、实验目的 1)掌握Java异常的概念及工作机制 2)掌握异常的分类 3)掌握抛出异常语句的使用(throw) 4)掌握抛出捕获处理异常语句的使用(try…catch…finally) 5)掌握上抛异常语句的使用(throws) 6)掌握创建自定义异常 二、实验内容 自定义一个异常类,求两个数的最大公约数。 三、实验步骤 1)声明一个类,继承与Exception,用来处理求公约数时被除数小于除数抛出异常。 2)声明一个方法来求公约数。 3)在主方法里通过控制台输入二个人数并把求公约数的方法写在try{}中,catch{}填写出现的自定义的异常及ArithmeticException 异常。 四、实现代码 import java.util.Scanner; class MyException extends Exception { int m,n;

public MyException(int m,int n) { this.m=m; this.n=n; } public void process() { System.out.println("被除数小于除数!"); } } public class divisor{ int m,n; public divisor(int m,int n) { this.m=m; this.n=n; } public int div() throws MyException { int tmp;

if(m

java实验题及答案

面向对象程序设计(Java)实验报告 实验四数组 指导教师:赵丹 姓名:刘坤(贵州民大)学号: 专业:信息管理与信息系统日期:2015-04-22 一、实验目的: 熟悉Java数组的创建、初始化、遍历、排序等操作。 二、实验内容: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 2、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ; 3、现在给出两个数组: 数组a:“1,7,9,11,13,15,17,19”; 数组b:“2,4,6,8,10” 两个数组合并为数组c,按升序排列。 4、自己出一个和本章有关的有趣的题目,并编程解答。 三、实验步骤、分析与结论: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 ①java程序如下: public class ArraySwap { public static void main(String[] args){ int oldArr[]=new int[]{1,2,3,4,5,6}; System.out.println("转置前的数组为:"); printArray(oldArr); //输出一维数组 int newArr[]=new int[oldArr.length]; for(int i=0;i

Java程序的设计实验报告

信息科学与工程学院 课程设计 题目:图书管理系统 姓名:晓雨颖 学号: 201312140115 201312140120 班级: 13级本科四班物联网 课程: Java程序设计 任课教师梦琳 2014年12月20日

课程设计任务书及成绩评定

目录 1前言 (3) 1.1设计目的 (4) 1.2设计任务 (4) 1.3运行环境 (4) 2总体设计 (5) 2.1设计原理............................................. 错误!未定义书签。3详细设计实现.. (5) 3.1 代码 (5) 3.2 登陆后事件处理 (12) 4心得体会................................................ 错误!未定义书签。

1前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发容和软硬件环境等因素来选择一种合适的开发 工具。

JAVA实验四异常处理

实验四异常处理 实验目的 1、掌握异常的概念和Java 异常处理机制。 2、掌握异常的定义、抛出和捕捉处理。 实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果 import java.io.*; public class Ch31 { public static void main(String args[])throws IOException { int[] ko=new int[15]; int n,a; String x; BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter an integer:"); x=keyin.readLine(); n=Integer.parseInt(x); try { a=110/n; ko[15]=100; System.out.println("此描述无法执行!"); } catch(ArithmeticException e){ System.out.println("除数为0的错误"); } catch(ArrayIndexOutOfBoundsException f) { System.out.println("数组索引值大于数组长度的错误!"); } System.out.println("执行完catch的描述!!!"); } } 2.运行下面的程序,自己给出程序的运行结果。 import java.io.*; public class Ch32{ public Ch32(){ try{ int a[] = new int[2]; a[4] = 3; System.out.println("After handling exception return here?"); }catch(IndexOutOfBoundsException e){ System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString()); e.printStackTrace(); }finally{

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

Java程序设计慕课版实验一

一、实验目的 (1)熟系编写Java程序的开发工具—Eclipse (2)掌握Java基础语法 二、实验内容、步骤方法、结果 1、使用Eclipse开发Java程序 package com.hello; public class HelloWorld { public static void main(String[] args) { System.out.println("你好,Java"); } } 2、输出字符串 package com.CharPtint; public class CharPrint { public static void main(String[] args) { char c1,c2; char c3; char c4; c1='A'; c2=' '; c3=66; c4='#'; System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4);

} } 3、截取字符串 package com.CharPtint; public class SubStr { public static void main(String[] args) { String str="abc123def"; System.out.println(str.substring(3,7)); System.out.println(str.substring(7)); System.out.println(str.charAt(0)); System.out.println(str.charAt(8)); } }

JAVA实验7-9+答案

实验7 1. 编一个程序,包含以下文件。 (1)Shape.java文件,在该文件中定义接口Shape,该接口在shape包中。 属性:PI。 方法:求面积的方法area()。 (2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。 属性:圆半径radius。 方法:构造方法;实现接口中求面积方法area();求周长方法perimeter()。 (3)“Cylinder.java”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。 属性:圆柱体高度height。 方法:构造方法;求表面积方法area();求体积方法volume()。 (4)X5_3_6.java文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。 【编程分析】本题主要考察接口、包、继承、封装等问题。编程步骤如下:第一步:首先创建p1包,在其中创建Shape接口 // Shape.java文件 package p1; // 创建p1包 public interface Shape{ // 定义Shape接口 … } 第二步:创建Circle类和Cylinder类,它们都定义在p2包中。 // 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类 … } 第三步:创建主类,在其中的main()方法中创建对象,实现相应的功能。 // X5_3_6.java文件 package p3; import p2.*; public class X5_3_6 { // 定义主类 public static void main(String[] args) { … } }

JAVA实验6答案

GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验六.Java 的接口与实现 课程名称JaVa 程序设计与开发 课程号16232204 技术 实验地点钟海楼实验日期 2015年 04019 10 月 26 日 、实验目的 (1) 学习掌握Java 中类怎样实现接口、接口回调技术; (2) 学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE 开发工具的PC 机。 四、实验内容和步骤 实验1 代码如下: Estimator.java in terface Compu rerAverage{ p ublic double average(double x[]); } class Gymn astics imp leme nts Compu rerAverage{ p ublic double average(double x[]){ int coun t=x.le ngth; double aver=0,te mp=0; for(i nt i=0;i

aver=aver+x[i]; } if(cou nt>2) aver=aver/(co un t-2); else aver=0; retur n aver; } } class School impi eme nts Compu rerAverage{ p ublic double average(double[] x){ int coun t=x.le ngth; double sum=0; for(i nt i=0;i

相关主题
文本预览
相关文档 最新文档