java面向对象程序设计练习题 求解答

java面向对象程序设计练习题 求解答,第1张

Java面向对象程序设计复习题

一、选择题

1、下列哪个是Java中的关键字( C )。

A、run B、Integer C、default D、implement 2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对( B )。 A、Applet是Container的一种 B、Applet是Window的一种 C、Applet是Component的一种 D、Applet是Panel的一种 3、下列类 DataOutputStream的构造方法正确的是( A )。

A、new dataOutputStream(new FileOutputStream(“out.txt”)) B、new dataOutputStream(“out.txt”)

C、new dataOutputStream(new writer(“out.txt”)) D、new dataOutputStream(new FileWriter(“out.txt”))4、在switch(表达式)语句中,表达式的类型不能为( C )。 A、byte B、char C、long D、int 5、在接口MouseMotionListener中方法正确的是( A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系Java.lang.Exception

Java.lang.RuntimeException

Java.lang.IndexOutOfBoundsException

Java.lang.ArrayIndexOutOfBoundsExceptionJava.lang.StringIndexOutOfBoundsException

假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。( B )

A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds Exception。

B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和StringIndexOutOfBoundsException都可以被捕获。 C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch语句

捕获。

D、方法X不能声明抛弃异常。

7、现有一变量声明为boolean aa下面赋值语句中正确的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false

8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为( A )。

A、cat B、Java C、example D、null

9、String s1=new String(“Java”)String s2=new String(s1)则下列哪个说法是正确的( C )。 A、表达式s1==s2为真

B、s1和s2是同一个对象

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

C、表达式s1.equals(s2)为真 D、以上均不对 10、类定义如下 class Foo{

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

System.out.println("s="+s) } }

则下列结论正确的是( C )。

A、有输出结果,且为空 B、没有输出结果

C、编译错误 D、有输出结果,且不为空

11、下列哪个不是Java的保留字( D )。

A、float B、class C、extends D、virtual 12、下列符号中不能作为Java标识符的是( D )。

A、abc B、$str1 C、_pore D、45six 13、方法methodA定义如下:

returnType methodA(byte x,double y){return (short)x/y*2 }

则返回值returnType为( C )。

A、byte B、double C、short D、int 14、如果float f=4.2FFloat g=new Float(4.2F)Double d=new Double(4.2)则下列选项正确的是( B )。

A、f==g B、f==g.floatValue() C、d==f D、d.equals(f) 15、下列二维数组定义中错误的是( A )。 A、int a[][]=new int[][] B、int []a[]=new int[10][10] C、int a[][]=new int[10][10] D、int [][]a=new int[10][10]

16、关于下列语句哪个答案是正确的( D )。System.out.println(4|7)

A、4 B、5 C、6 D、7

17、下面哪一个AWT组件可以有菜单栏MenuBar( A )。 A、Java.awt.Frame B、Java.awt.WindowC、Java.awt.Applet D、Java.awt.Panel

18、下列哪个方法用于创建并开始一个新的线程( B )。 A、run() B、start()

C、execute() D、run(Runnable r)

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

19、如果有Boolean a=new Boolean(“yes”),则a.booleanValue()值为( D )。 A、yes B、“yes” C、true D、false20、以下类 DataOutputStream的构造方法正确的是( C )。 A、new dataInputStream(“in.txt”)

B、new dataInputStream(new file(“in.txt”))

C、new dataInputStream(new FileInputStream(“in.txt”))

D、new dataInputStream(new FileWriter(“in.txt”))

21、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A、.Java B、.class C、.html D、.exe

22、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A、3 B、3.5 C、4 D、5

23、在Applet表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该首先在哪个类里面寻找( D )。 A、Java .awt.Applet B、Java.awt.Panel C、Java.applet.Applet D、Java.awt.Component 24、类Cycle的main()方法为:

public static void main(String args[]){ System.out.println(args[0]) }

则运行时如果命令行语句为Java Cycle one two three,则输出结果为( B )。 A、Cycle B、one C、two D、three 25、下面哪一个是Thread类中的静态方法( D )。

A、start() B、stop() C、run() D、sleep(long m) 26、关于下列语句哪个答案是正确的( A )。 if(5&7&&5|2)System.out.println(“true”)

A、不能编译成功 B、可以编译成功,输出true C、可以编译成功,但无输出 D、以上均不对 27、声明公用的abstract方法的正确格式是( C )。 A、public abstract void add() {} B、public abstract add()

C、public abstract void add() D、public virtual add()

28、下列程序结果正确的是( B )。 public class Test {

public static void main (String args []) { Ad a1=new Ad()

System.out.println(a1.add(1))Ad a2=new Ad()

System.out.println(a2.add(2)) } }

附上出处链接:http://wenku.baidu.com/link?url=M9v0BfeRZklK5rDd1Km4XOYB9V38UadIG067g0pym2hRXGJ1xUnePs2oJ4YoKuB3gxR1nqm6mQf1x9q9-sjj17tqEy95VAcc48dBTwB_1I_

第一题看的脑壳疼,但是和第二题的意思差不多,我帮你做了第二题

public class List {

public static void main(String[] args) {

Employee e1 = new Employee("张强","2010/09/01",6890)

e1.show("普通")

System.out.println("年纳税:"+e1.tax())

Manager m1 = new Manager("朱慧","2003/07/06",18530,38000)

m1.show("管理")

System.out.println("年纳税:"+m1.tax())

}

}

//下面是补全的代码

class Employee{

String name,date

double salary,bonus

Employee(String name,String date,double salary){

this.name = name

this.date = date

this.salary = salary

}

public void show(String str){

System.out.println("岗位:"+str)

System.out.println("姓名:"+name+",入职时间:"+date+",月薪:"+salary)

}

public double tax(){

if(salary <= 0){

throw new RuntimeException("工资不允许小于等于0")

}

else if(salary>3000 && salary<=5000){

salary = salary*0.05*12 //纳税这里我也不知道他们具体是怎么个算法,反正意思差不多,套进去就行了

}

else if(salary>5000 && salary<=10000){

salary = salary*0.1*12

}

else if(salary>10000 && salary<=15000){

salary = salary*0.15*12

}

else if(salary>15000){

salary = salary*0.2*12

}

return salary+(bonus*0.2)

}

}

class Manager extends Employee{

Manager(String name,String date,double salary,double bonus){

super(name,date,salary)

super.bonus = bonus

}

public void show(String str){

System.out.println("岗位:"+str)

System.out.println("姓名:"+name+",入职时间:"+date+",月薪:"+salary+",奖金:"+bonus)

}

}

你的题有很多错误,我给你改了一下。

1.设变量i和j的定义如下,试分别计算下列表达式的值:

int i=1double d=1.0

1题 35/4 [8]

2题 46%9+4*4-2 [15]

3题 45+43%5*(23*3%2)[48]

4题 45+45*50%i-- [45]

5题 45+45*50%(i--) [45]

6题 1.5*3+(++d) [6.5]

7题 1.5*3+d++ [5.5]

8题 i+=3/i+3[7]

程序阅读题

1给定如下代码,写出程序运行结果

class Example{

public static void main(String arges[]){

int i=0

do{

System.out.println("doing it for i is:"+i)

}while(--i>0)

System.out.println("finish")

}

}

结果如下:

doing it for i is:0

finish

2 阅读程序段写出执行结果

for(int k=1k<=5k++){

if(k>4)break

System.out.println("k="+k)

}

结果:

k=1

k=2

k=3

k=4

3试写出下列程序段循环的运行结果

int i=1

while(i<10)

if(i++%2==0)

System.out.println(i)

结果:

3

5

7

9

*** 作题

求1!+2!+...+10!

public static void main(String arges[]){

long sum = 0

for(int i = 1i <= 10i++) {

long s = 1

for(int j = 1j <= ij++) {

s *= j

}

sum += s

}

System.out.println("sum = " + sum)

}

求100之内的所有“完数”。完数是指等于它的因子和的数。例如:6=1+2+3,6=1*2*3,则6是一个完数

public class wanshu{

public static void main(String[] args) {

for(int i = 1i <= 100i++) {

if(fun(i)) {

System.out.println(i)

}

}

}

public static boolean fun(int num) {

int sum = 0

for(int i = 1i <numi++) {

if(num % i == 0) {

sum += i

}

}

return num == sum

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11153237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存