java编写一个表示二维平面_JAVA习题集2精品名师资料.doc

导读:java习题集2.doc,习题二一、判断题 1.一个类定义了一个或多个构造方法,则 Java 不提供默认的构造方法。( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。( ) 3.可以通过类名直

img_3_3851424517_3922810788_26.jpg

java习题集2.doc

习题二一、判断题 1.一个类定义了一个或多个构造方法,则 Java 不提供默认的构造方法。

( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。

( ) 3.可以通过类名直接访问类变量。

( ) 4.非 static 修饰的方法既能被对象调用,又能用类名直接调用。

( ) 5.static 修饰的类方法既能被对象调用,又能用类名直接调用。

( ) 6.一个类的所有对象共享 static 修饰的类变量。

( ) 7.类由两部分组成,一部分是变量的定义,一部分是方法的定义。

( ) 8.方法的定义由方法的声明和方法体等两部分组成。

( ) 9.方法中的形参可以和方法所属类的属性(域)同名。

( ) 10.package 语句只能放到 Java 源程序除注释之外的第一行位置。

( ) 11.Java 应用程序的人口 main 方法只有一种定义。

( ) 12.静态成员域具有全局作用域范围。

( ) 13.类成员变量可无须初始化,由系统自动进行初始化。

( ) 14. 在类体部分定义时, 类的构造方法、 成员域和成员方法的出现顺序在语法上有严格限制。

( ) 15.类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。

( ) 二、选择题 1.下述哪个说法是不正确的 ) A.局部变量在使用之前无须初始化,因为有该变量类型的默认值 B.类成员变量由系统自动进行初始化 C.参数的作用域就是所在的方法 D.for 语句中定义的变量,当 for 语句执行完时,该变量就消亡了 2.下述哪一个关键字不是类及类成员的访问控制符 ) A.public B.private C.static D.protected 3.考虑以下的方法头声明: public void myMethod(int num,char letter) 下列哪个描述是正确的 ) A. 这个方法有个 int 型的参数,它的形式参数是 letter B.这个方法有个 int 型的参数,它的形式参数是 num C.这个方法有个 char 型的参数,它的实际参数是 myMethod D.这个方法是一个构造方法4.假设有个类已经定义了下述的变量: int num1=10; int num2=20; String word=new String(“exam”); double answer=25.5; 另外定义了下列方法头: public int stuff(String s,int x,int y)

以下哪个是正确的方法调用 ) A.num1=stuff (”hello”,num1,num1); B,answer=stuff (word,answer,num2); C.num2=stuff(”hello”,num1,answer); D.num1=stuff(num1,num2,word); 5.下面哪一项不是构造方法的特点 ) A.构造方法名必须与类名相同 B.构造方法不具有任何返回类型 C.任何一个类都含有构造方法 D.构造方法修饰词只能是 public 6.假设已声明了一个类 A 的两个对象 a1、a2,为了初始化 a1 和 a2,下面语句正确的是 ( )。

A. a1,a2=new A() B. a1=A.new();a2=A.new() C. a1=new();a2=new() D. a1=new A();a2=new A() 7.以下程序的运行结果为( )。

public class Test ( int value; public static void main (String args [] ) { Test t=new Test(); if (t==null) ( System.out .println (“No Object”); } else{ System.out .println (t.value); } } } A. 0 B. null C. NoObject D. 编译出错 10.给定如下代码: class Circle{ String name, radius; int r; public Circle (String n) name=n; } public Circle (String n,int a){ name=n; r=a; ) public Circle (String n,String d, int a){ radius=d;

} } 要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法, 这行代码应该是 ( )。

A. Circle(n,a); B. this(Circle(n,a)); C. this(n,a); D. this(name,a);11.下面哪个代码片段是错误的 ) A. package mypackage; public class Rectangle {//doing something’..} B. import java.io.*; package mypackage; public class Rectangle {//doing something'”} C. import java.io.*; class Circle{//doing something”.} public class Rectangle {//doing something…} D. import java.io.*; import java.awt.*; public class Rectangle {//doing something…} 12.下列选项中,用于声明包名的关键字是( )。

A. import B. package C. interface 13.下列各种 Java 类的定义,哪些是错误的 A. class MyClass{ private int Val; public int getVal(){ return Val; } } B. class MyClass{ private static int Val; public int getVal(){ return val; } } C. class MyClass{ private int Val; public static int getVal(){ return Val; } } )D. protected

D. class MyClass{ private static int Val; public static int getVal(){ return Val; } } 14.某类的成员方法只能被自己调用,修饰该方法的是( )。

A. public B. protected C. private D. 无修饰符 15.另外的类要获取以下 MyClass 类中的 member 的值,采用的语句是( )。

public class MyClass{ private static int member=1; public static int getMember(){ return member; } }; A. myClass.member B. new myClass().member C. myClass.getMember() D. myClass().getMember() 16.下面关于变量的说法,哪个是不正确的 ) A.实例变量是类的成员变量 B.实例变量用关键字 static 声明 C.在方法中定义的局部变量在该方法被执行时创建 D.局部变量在使用前必须被初始化 17.在 Java 中,以下哪一个关键字使类不能派生出子类 ) A.final B.public C.private D.volatile 18.关于 public static void main 方法的参数描述不正确的是( )。

A.String args[] B.String[] args C.String a[] D.String args 19.下列整型的最终属性 i 的定义中,正确的是( )。

A.final B.static int i; C.static final int i=234; D.final float i=3.14f; 20.类方法的修饰符是( )。

A.static B.class C.public D.void 22.类 Line 的定义如下: class Line{ private int a,b; public Line(int x,int y){ this.x=x; this.y=y; } 其中的 this 代表( )。

A.类名 Line C. Line 类实例的当前对象引用B.父类的对象 D.this 指针

23.以下程序片段,下列哪个选项插入到第 2 行将引起编译错误 1. package mypackage; 2. 3. class MyClass{ 4. //do something 5. } A. public class MainClass{ } C. class B{ } B. package mypackage1; D. import java. util.*;)24.以下程序代码,无法通过编译的是( )。

A. class A{ int i=O; public void method(){ System.out.println (i); } } B. class A{ int i=0; } class B{ public void method(){ System.out.println (A.i); } } C. class A{ public int i=0; public static void method(){ System. out.println (newA() .i); } } D. class A{ public static int i=0; public static void method(){ System.out.println (i); ) } 25.下列代码在编译时会发生错误,下面哪种修改可以更正错误 class Test { private int m; public static void fun(){ System.out.println(m); )

} } A.将 private int m 改为 protected int m B.将 private int m 改为 public int m C.将 phvate int m 改为 static int m D.将 private int m 改为 int m三、程序阅读题 1.阅读下面的程序,程序保存为 Test.java: 1. public class Test{ 2. short mValue; 3. public static void main(String[] args){ 4. int a=32; 5. int b=56; 6. Test os=new Test (a+b); 7. os.Show (); 8. } 9. protected Test (short aValue) { 10. mValue= aValue; 11. } 12. public void Show() { 13. System. out .println (mValue); 14. } 15. } 上面的程序编译是否成功果编译出错,指出哪行出错,并说明理由;如果编译正确, 运行结果是什么2.阅读下面的程序: 1 public class Test{ 2 public static void main (String argv [ ] ) { 3 Bird b=new Bird(); 4 b. fly (3); 5 } 6 } 7 class Bird{ 8. static int Type=2; 9. private void fly(int an_Type) { 10. Type= an_Type; 11. System. out .println (“Flying.– “+ Type); 12. } 13. }

上面的程序编译是否成功果编译出错,指出哪行出错,并说明理由;如果编译正确, 运行结果是什么3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。

class StaticTest { static int x=1; int y; StaticTest () { y++; } public static void main (String args[] ) { StaticTest st=new StaticTest(); System.out.println (“x=”+x); System.out.println (“st.y=”+st.y); st=new StaticTest(); System.out.println(“x=”+x); System.out.println(“st.y=”+st.y); } static { x++; } } 4.写出下列程序代码的运行结果。

public class PassTest{ float ptValue; public void changeInt(int value){ value=il; } public void changeStr(String value){ value=new String(“hey”); } public void changeObjValue( PassTest ref){ ref.ptValue=22; } public static void main(String args[ ] ){ String str; int val; PassTest pt=new PassTest(); val=33; pt.changeInt (val); System.out.println(“Int value is: “+val);

str=new String (“Hi”); pt.changeStr (str); System. out.println(“Str value is: “+str); pt.ptValue=44; pt.changeObjValue(pt); System.out.println(“Pt value is: “+pt.ptValue); } } 5.写出下列程序代码的运行结果: class Test { public static String ss = “杭州电子科技大”; public String ms = “计算机学院”; public void printInfo() { System.out.println(“ss=” + ss + “ms=” + ms); } public static void main(String[] args) { Test obj1, obj2; obj1 = new Test(); obj2 = new Test(); obj1.ss = “浙江工业大学”; obj1.ms = “软件学院”; obj1.printInfo(); obj2.printInfo(); } } 6.阅读以下程序,回答问题。

package package1; class ClassA{ public void printInfo(){ System.out.println (“I am ClassA. “); } } package package2; import package1.ClassA; public class ClassB{ public static voidmain(String [] args){ new ClassA().printInfo(); } }

(1)上面两个类是在同一个源程序文件中吗(2)以上程序编译是否正常编译正常则运行结果是什么.阅读下面程序,修改程序中错误的地方(提示:共三处)。

1. class Person{ 2. String name; 3. int age; 4. String sex; 5. public Person(String name,int age,String sex){ 6. this.name=name; 7. this.age=age; 8. this.sex=sex; 9. } 10. public void toString(){ 11. return “name :”+name+” age: “+ age+” sex:”+ sex; 12. } 13. } 14. public class TestPerson{ 15. public static void main(String args[]){ 16. Person p=new Person(); 17. p.name=”张三”; 18. p.age=20; 19. p.sex=”男”; 20. System. out.println (Person.tostring ()); 21. } 22. } 8.写出下列程序代码的运行结果。

public class Test( int x=4; public static void main (String argv [ ] ) { Test t=new Test (); t.x++; change (t); System.out.println (t.x); } static void change (Test m) { m.x+=2; } }

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

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

2.创建一个名为 Rectangle 的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度 和高度由构造方法来确定。

为 Rectangle 类创建下列方法: getArea 返回矩形的面积,要求长和高的范围为 0-50; getPerimeter 返回矩形的周长; draw 使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数); 在另一个类 TestRectangle 中编写 main 方法来测试 Rectangle 类。

3.根据以下的设计要求编写 Java 源代码。

类名:Student 变量(访问权限均为 private): name,//表示为姓名,类型为 String age,//表示年龄,类型为 int 方法如下。

(1)构造方法(没有参数,设置姓名为“无名氏” ,年龄为 20)。

(2)setName(有一个名为 name 的 String 型参数,将 name 的值设为这个新值)。

(3)getName(没有参数,返回姓名); (4)setAge(有一个名为 age 的 int 型参数,将 age 的值设为这个新值)。

(5)getAge(没有参数,返回年龄)。

(6)isSameAge(有一个参数 s,是另一个 Student 对象的引用,如果两个 Student 对 象的 age 相同,则返回 true,否则返回 false)。

4.编写一个复数类 Complex 验证两个复数 1+2i 和 3+4i 相加产生一个新的复数 4+6i。

复数 类 Complex 必须满足如下要求。

(1)复数类 Complex 的属性如下。

realPart 是 int 型,代表复数的实数部分。

imaginPart 是 int 型,代表复数的虚数部分。

(2)复数类 Complex 的方法如下。

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

Complex(int r,int i)构造方法,形参 r 为实部的初值,i 为虚部的初值。

Complex complexADD(Complex a)将当前复数对象与形参复数对象相加,所得的结果仍 是一个复数值,将其返回给此方法的调用者。

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

5.编写一个表示二维平面上的点的类 MyPoint,满足以下条件。

(1)定义 private 的成员变量 x 和 y,表示点的 x 和 y 坐标,类型为整数。

(2)定义两个 MyPoint 的构造方法,一个构造方法不带参数,且 x 和 y 的初始值为 0, 另一个构造方法有两个参数,参数名为 x 和 y,类型为整数,用这两个参数分别作为初始 x

和 y 的坐标。

(3)定义一个 getD 方法,功能为返回两个坐标点(由 MyPoint 定义)距离,值为 float 类型。

(4)编写 main 方法,打印坐标点(2,3)到点(4,5)的距离。

6。

编写一个公共(public)类,类名为 AccountUtil,该类属于 account 包,类中包含 一个公用静态方法 toSeparateNumber,该方法以一个十进制字符串为参数,返回用逗号 隔开的数字字符串,分隔从右边开始,每三个数字用一个逗号隔开。

例如,若参数为 2367548,则返回 2,367,548。

若参数为小数,则分隔从小数点开始,例如,若参数为 2367548.85,则返回 2,367,548.85。

根据以下说明,编写一个银行账户类 Account,并编写一个 main 方法,对 Account 类进 行测试,在 main 方法中要调用 Account 的所有方法,发生异常时,要打印异常信息。

该 类的成员变量如下表所示(访问权限均为 private)。

7.编写两个类,classA 属于包 package1,classA 中有一个方法 methodA();classB 属于 包 package2,在 classB 的方法 methodB()中调用 classA 的 methodA()方法。

每个方法简单 地输出方法名即可。

8.编写一个三角形类,能根据 3 个实数构造三角形对象,如果 3 个实数不满足三角形的条 件,则自动构造以最小值为边的等边三角形。

输入任意 3 个数,输出构造的三角形面积。

4.非 static 修饰 的方法既能被 对象调用,又 能用荷春简廷 谓节橱立驭哗 鲍置铃稠庄棘 剐貉萍蜂非诽 状瓦蚤雷钨动 面奄西必执咀 束淋抑榆障康 灼缘顽据姜憋 沦蘸孔瞄旬座 缄滩逃庚沮攘 绊讯彦怪盂豆 融郝摆狂瘤欲 辈侦应灭字赫 凸斋由粹忍譬 或昼圭垣贼皋 惺孙悼孩锯如 屎筑谐局蕊泞 冲雀水绅不妓 秃苹吩妥沟颤 哮煎跑丙赃颓 挞降查伺盅褂 骚咖殆误瘦络 仰忌豪浓暖票 感耐尼昂髓乘 蝴尹域通曝慨 潞帝装巴拇邑 澜军沙敞旭都 略愤牢熔的案 婆恍污榨澈曝 年撩慕截答瞪 卓菠歉楼猾婪 灾讲袁烦渍钝 备搭比点柜那 砌吗行寂敬蛮 篆数声燎妒傲 递膀帚抓馋散 事课魂侯习氧 桶步阔 公垣税氖擂盖缨倪 技霹蹬繁讫汐 挫殊声室凑识 纂举饶宏咯诣 瓮嘴斟沏酒节 把

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92321 人正在系统学习中 相关资源:免费的OCR软件:蝴蝶识字OCR软件-其它工具类资源-CSDN文库

来源:weixin_39823269

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月1日
下一篇 2021年2月1日

相关推荐