JAVA上机题目

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

一、运行书中Helloworld程序

二、编写一个计算器类,要求实现加、减、乘、除运算,

注意在进行除法运算时,如果除数为0,那么就直接输出Error来

下面代码为判断是否为数字,如果是数字,那么返回是true,否则返回false,在使用下面代码前,要在程序头导入包:import java.util.regex.*;

public static boolean isNumeric(String str)

{

Pattern pattern = pil e("[0-9]*");

Matcher isNum = pattern.matcher(str);

if( !isNum.matches() )

{

return false;

}

return true;

}

三、编写Java程序,要求在运行的时候输入一个数字,表

示行数,程序计算出相应行数的杨辉三角数据,并在屏幕

上显示出来。

(1)、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。

(2)、第n行的数字个数为n个。

(3)、第n行数字和为2n − 1。

(4)、每个数字等于上一行的左右两个数字之和。

(5)、将第2n+1行第1个数,跟第2n+2行第3个数、第2n+2行第5个数……连成

一线,这些数的和是第2n个斐波那契数。将第2n行第2个数,跟第2n+1行第

4个数、第2n+2行第6个数……这些数之和是第2n-1个斐波那契数。

(6)、第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×n×(n-1)/2,

第四个数为1×n×(n-1)/2×(n-2)/3…依此类推。

通过main方法中的args获取用户附带的参数,例如用户输入app 10 (注意

参数间有空格),那么args对应的值为:args[0]=10,然后通过

Integer.parseInt(args[0]),即可得到int类型的数据。

四、编写Java程序,Java中程序的结构,类的声明和定义

掌握面向对象的基本思想,抽象对象并定义类,类的继承结构,理解并能熟练运用类的多态性,抽象类和接口及它们的区别,理解并熟练运用抽象类和接口解决耦合问题。

1、构造一个抽象类Shape,它有两个抽象的方法area()和perimeter(),分别表

示求面积和周长,此外,它还有一个具体方法message(),能输出类的一些信息。

public abstract class Shape { //创建抽象类

public abstract void area(); //创建抽象方法

public abstract void perimeter(); //创建抽象方法

public void message(){ //创建具体方法

System.out.print("OY");

}

}

2、定义一个接口Graph,它有一个抽象的方法draw(),表示绘制Shape。

public interface Graph { //创建接口

public abstract void draw(); //创建抽象方法

}

3、构造Shape的两个子类Circle和Rectangle,分别表示圆和矩形,并且实现接口

Graph。

//创建Circle类,继承Shape类,并实现接口Graph

public class Circle extends Shape implements Graph {

// 重写抽象类的抽象方法

public void area() {

}

// 重写抽象类的抽象方法

public void perimeter() {

}

// 重写接口的抽象方法

public void draw(){

};

}

//创建Rectangle类,继承Shape类,并实现接口Graph

public class Rectangle extends Shape implements Graph{

// 重写抽象类的抽象方法

public void area() {

// TODO Auto-generated method stub

}

// 重写抽象类的抽象方法

public void perimeter() {

// TODO Auto-generated method stub

}

// 重写接口的抽象方法

public void draw(){

};

}

4、构造测试类Test,其有方法getShapeData(Shape s),它输出s的面积和周长,

构造矩形实例和圆实例,体会area方法和perimeter方法的多态性。

public class Test { //创建Test类

public static void getShapeData(Shape s){ //创建方法

s.area();

s.perimeter();

}

public static void main(String[] args) {

getShapeData(new Circle()); //抽象类的多态

getShapeData(new Rectangle()); //抽象类的多态}

}

5、类似上题,为Test添加方法drawGraph(Graph g),它“画出”Graph的图形----

调用draw方法,构造矩形实例和圆实例,体会draw方法的多态性。

public class Test { //创建Test类

public void drawGraph(Graph g){ //创建方法

g.draw();

}

public static void main(String[] args) {

Test t=new Test();

t.drawGraph(new Circle()); //接口的多态

t.drawGraph(new Rectangle()); //接口的多态}

}

总结:

1、根据自己对实验的理解,说明一下在本实验中,抽象类Shape的作用是什么?

产生子类的同时给于子类一些特定的属性和方法

2、分析说明抽象类和接口的异同?

抽象类可以给出一些成员的实现,接口却不包含成员的实现,抽象类的抽象成员可以被子类部分实现,接口的成员需要实现类完全实现,一个类只能继承一个抽象类,但可以实现多个接口。

1.类是对对象的抽象;抽象是对类的抽象;接口是对行为的抽象。

2.如果行为跨越不同的对象,可使用;对于一些相似的类对象,用继承抽象类。

3.抽象类是从子类发现公共的东西,泛化出父类,然后子类继承父类;而接口是根本不知子

相关文档
最新文档