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

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)以上程序编译是否正常?若编译正常则运行结果是什么?7.阅读下面程序,修改程序中错误的地方(提示:共三处)。

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编写一个表示二维平面_JAVA习题集2精品名师资料.doc相关推荐

  1. 用java生成一个表白二维码

    之前对二维码粗略的看了一下觉得可以自己实现一个二维码用来表白,程序员的浪漫. 其实生成一个二维码非常简单几个类就可以搞定 import java.io.File; import java.nio.fi ...

  2. java编写一个类book代表教材_java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材:...

    java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材: 关注:191  答案:2  mip版 解决时间 2021-02-01 17:18 提问者万丈深渊 2021-02-01 10: ...

  3. java编写一个可切换的界面_java web 项目实现手动中英文切换

    Java程序的国际化主要通过如下3个类完成 Java.util.ResourceBundle:用于加载资源包 Java.util.Locale:对应一个特定的国家/地区.语言环境 Java.text. ...

  4. java编写一个整钱换零_Java编写钱币转换为大写程序

    import java.text.DecimalFormat; public class ChangeMonney { private static final String[] STR_UNIT = ...

  5. Java入门123:一个老鸟的Java学习心得(二维码版)

    Java入门123:一个老鸟的Java学习心得(二维码版)清华大学出版社 Java入门123--一个老鸟的Java学习心得(二维码版)充分考虑了初学Java的种种困难,讲解细致入微,抽丝剥茧,层层推进 ...

  6. LeetCode149. 直线上最多的点数: 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

    给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o ±------- ...

  7. 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

    需求:给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 分析思路: 1.将所有点二维坐标化,即定义出所有点的x,y坐标值 2.遍历出所有取出两点的情况(不考虑先后顺序),根据任意 ...

  8. 使用IDEA创建一个通过url链接生成二维码的java程序|自动生成二维码

    平时使用了那么多的二维码,今天我们自己做一个二维码.今天刚安装了IDEA,学会了用法,就来通过IDEA做一个生成二维码的程序. 首先新建一个项目 设置项目名称 点击Next之后,出现下图所示页面:   ...

  9. java打印二维数组_Java中如何打印二维数组

    在Java中如何打印二维数组 1.直接使用数组自带的toString------ 打印出数组的地址 2.使用Arrays.toString()---------- 打印每个二维数组的地址 3.使用Ar ...

最新文章

  1. SharePoint 2010新体验2 – Ribbon界面
  2. tomcat中配置jndi数据源以便spring获取
  3. 对一个可进行带括号 加减乘除运算类的分析
  4. c语言成绩统计与学籍管理源码,[源码和文档分享]基于C语言的学生成绩管理系统...
  5. imreadraw的注册
  6. Mybatis-config.xml配置文件详解
  7. 【房价预测】基于matlab Elman神经网络开盘价预测【含Matlab源码 708期】
  8. 基于Java框架开发OA企业在线办公系统项目教程-附源码-毕业设计
  9. ARP报文抓包解析学习
  10. jQuery源码中的“new jQuery.fn.init()”什么意思?
  11. win7添加网页ftp服务器地址,win7添加ftp服务器地址
  12. 【转】未来10年经济走向及发展趋势
  13. php视频打水印,php 七牛云 视频加水印
  14. JS的Date函数汇总
  15. 第一周C++学习总结
  16. 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 三)
  17. 分布式系统的解决方案,学好这个就够了
  18. Android 手机红外遥控器实现(转)
  19. 如何用python赚钱_一篇文章教你使用Python自动赚取支付宝积分,网友:发家致富?...
  20. hduoj 1874 畅通工程续(Floyd)

热门文章

  1. 获取汉字偏旁部首 Python版本
  2. 电子邮箱免费申请注册教程,公司企业邮箱怎么开通注册?
  3. (九)Linux算时差的方法
  4. day9抽象类和接口
  5. SassScript
  6. SRE运维工程师笔记-Linux文件管理和IO重定向
  7. python模块学习笔记
  8. 利用强化学习进行股票操作实战(三)
  9. WebRTC系列 -- iOS ADM音频数据流处理流程及源码阅读记录
  10. U盘制作成系统盘后怎么恢复成原样?