JAVA练习题(2)

2018-11-29 16:12

4) {

5) Bird b = new Bird(); 6) b.Fly(3); 7) } 8) }

9) class Bird 10) {

11) static int Type = 2;

12) private void Fly(int an_Type) 13) {

14) Type = an_Type;

15) System.out.println(\16) } 17) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

8、阅读下面的程序: 1) abstract class Base{

2) abstract public void myfunc(); 3) public void another(){

4) System.out.println(\5) } 6) }

7) public class Abs extends Base{

8) public static void main(String argv[]){ 9) Base b = new Abs(); 10) b.another(); 11) }

12) public void myfunc(){

13) System.out.println(\14) }

15) public void another(){ 16) myfunc(); 17) } 18) }

以上程序经编译后,运行结果是什么?

9、阅读下面的程序: 1) class Super{ 2) public int i=0; 3) public Super(){ 4) i=1; 5) }

6) }

7) public class Sub extends Super{ 8) public Sub(){ 9) i=2; 10) }

11) public static void main(String args[]){ 12) Sub s=new Sub();

13) System.out.println(s.i); 14) } 15) }

上面的程序经编译后,运行结果是什么?

10、阅读下面的程序,程序保存为Test.java: 1) public class Test {

2) public static void main(String[ ] args) { 3) int index=0;

4) while (index<=100) { 5) index+=10; 6) if (index==40) 7) break;

8) System.out.println(\9) } 10) } 11) }

上面的程序经编译,运行后输出的结果是什么?

五、问答题

1、 设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少? (1) while(x<=y) x=2*x;

(2) while(y/x>5) if(y-x>25) x=x+1; else y=y/x; (3) do{x=2*x;} while(x

(4) do{x=y/x;y=y-x;}while(x>=y);

(5) do{y=y/x-1; if(y>=x) y=x;} while(y>=1);

2、简述对象、类的概念。

3、简述封装、继承性和多态性的概念。 4、根据以下的设计要求编写java源代码。 类名: Circle

实例数据(均为private): radius(double) //圆的半径 方法:

构造方法(没有参数,设置radius的值为10.0)

setRadius(有一个double参数,将radius的值设为这个新值),

getRadius (没有参数,返回radius的值)

sameSize(有一个参数,是另一个Circle对象的引用,如果两个Circle对象的radius的差小于0.001,则返回true)

5、下面的代码使用上题的Circle类,请回答下面的问题: public class CircleTester {

public static void main(String[] args) { Circle c1,c2,c3; c1 = new Circle(); c2 = new Circle();

System.out.println(“are same is: “+c1.sameSize(c2)); c2.setRadius(20.0); compare.reset();

System.out.println(“are same is: “+c1.sameSize(c2)); } }

问题:

(1) 共创建了几个Circle对象? (2) 程序运行的结果是什么?

6、假设已有一个ArrayMethods 类,包含以下的方法: public static void replace(double[] a, int p, double v) 将数组a中下标为p的元素的值替换为v. public static void fill(double[] a, int p, double v)

将数组a中的前p个元素用value值填充(即将数组a的前p个元素的值,设成v),如果数组的长度小于p,则全部元素都设成v public static void display(double[] a)

在屏幕上显示数组a的内容

现在假设你在main()方法中已经声明了如下变量: double[] array1={4.5, 6.0, 0.1, 2.2}; double[] array2; double num1; int pos=3;

要求对下面的3组语句,先回答是否合法(即没有编译错误),如果是合法的,请描述程序运行的效果,如果不合法,请说明理由. 1) num1 = array1[2];

ArrayMethods.replace(array1, pos, num1); ArrayMethods.display(array1); 2) num1 = array1[0];

ArrayMethods.fill(array1, pos, num1); ArrayMethods.display(array1); 3) num1 = array1[1];

array2=new double[num1];

ArrayMethods.display(array2);

六、编程题

1、分别利用for、while、do~while编写计算正整数n1到n2的累加和。 2、编写一个编程,给定一个t的值(t的值也可通过命令行输入),按下式计算y值并输出,要求分别写作if语句和switch语句。 t2-1 0≤t<1 t3-2?t-2 1≤t<3 y= t2-t?sint 3≤t<5 t+1 5≤t<7 t-1 其它

3、设计一个类TestArraySum,定义一个含有10个元素的int类型数组a,10个数组元素的值是11~20,再定义一个方法arraySum(int[] a),返回数组所有元素的和,最后用main方法实现在屏幕上输出数组a所有元素的和。

4、编写一个java程序Suansu.java,定义两个整型变量a和b,使用构造函数初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商 (方法名为DivAB)的方法。

用另一个java程序TestSuansu.java测试Suansu.java定义的方法,并在屏幕上输出结果。

5、创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法: ? getArea返回矩形的面积,要求长和高的范围为0~50; ? getPerimeter返回矩形的周长; ? Draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数); 在另一个类TestRectangle中编写main方法来测试Rectangle类。

6、用面向对象的思想定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序。 7、创建一个Frame,有两个Button按钮和一个TextField,点击按钮,在TextField上显示Button信息。

8、创建下图的GUI程序(注意:不需要提供任何功能)。

9、编写一个文件拷贝的程序,将文件C:\\test1.txt的内容拷贝到C:\\test2.txt中。 10、编写一个程序,统计给定文件中每个字母出现的频率。

11、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。 12、用图形界面设计一个简单的计算器。

13、用图形界面实现简单的银行柜台业务,包含创建新帐户、取款、存款、查询帐户余额等业务。


JAVA练习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中山大学政治与公共事务管理学院本科生

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: