Java经典试题

Java经典试题
Java经典试题

1.

public class ReturnIt{

returnType methodA(byte x, double y){ //line 2

return (short)x/y*2;

}

}

what is valid returnType for methodA in line 2?

答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型.

2.

1) class Super{

2) public float getNum(){return 3.0f;}

3) }

4)

5) public class Sub extends Super{

6)

7) }

which method, placed at line 6, will cause a compiler error?

A. public float getNum(){return 4.0f;}

B. public void getNum(){}

C. public void getNum(double d){}

D. public double getNum(float d){return 4.0d;}

Answer:B

A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下:

Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不

兼容的返回类型

找到:void

需要:float

public void getNum(){}

^

1 错误

B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private);

重载:必须具有不同的参数列表;

可以有不同的返回类型,只要参数列表不同就可以了;

可以有不同的访问修饰符;

把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对.

3.

public class IfTest{

public static void main(String args[]){

int x=3;

int y=1;

if(x=y)

System.out.println("Not equal");

else

System.out.println("Equal");

}

}

what is the result?

Answer:compile error 错误在与if(x=y) 中,应该是x==y; =是赋值符号,==是比较操作符4. public class Foo{

public static void main(String args[]){

try{return;}

finally{ System.out.println("Finally");}

}

}

what is the result?

A. print out nothing

B. print out "Finally"

C. compile error

Answer:B java的finally块会在return之前执行,无论是否抛出异常且一定执行.

5.public class Test{

public static String output="";

public static void foo(int i){

try {

if(i==1){

throw new Exception();

}

output +="1";

}

catch(Exception e){

output+="2";

return;

}

finally{

output+="3";

}

output+="4";

}

public static void main(String args[]){

foo(0);

foo(1);

24)

}

}

what is the value of output at line 24? Answer:13423 如果你想出的答案是134234,那么说明对return的理解有了混淆,return是强制函数返回,本题就是针对foo(),那么当执行到return的话,output+="4"; 就不再执行拉,这个函数就算结束拉.

6. public class IfElse{

public static void main(String args[]){

if(odd(5))

System.out.println("odd");

else

System.out.println("even");

}

public static int odd(int x){return x%2;}

}

what is output?

Answer:Compile Error

7. class ExceptionTest{

public static void main(String args[]){

try{

methodA();

}

catch(IOException e){

System.out.println("caught IOException");

}

catch(Exception e){

System.out.println("caught Exception");

}

}

}

If methodA() throws a IOException, what is the result? (其实还应该加上:import java.io.*;) Answer:caught IOException 异常的匹配问题,如果2个catch语句换个位置,那就会报错,catch 只能是越来越大,意思就是说:catch的从上到下的顺序应该是:孙子异常->孩子异常->父亲异常->老祖先异常.这么个顺序.

8. int i=1,j=10;

do{

if(i++>--j) continue;

}while(i<5); (注意不要丢了这个分号呦)

After Execution, what are the value for i and j?

A. i=6 j=5

B. i=5 j=5

C. i=6 j=4

D. i=5 j=6

E. i=6 j=6

Answer:D

9. 1)public class X{

2) public Object m(){

3) Object o=new Float(3.14F);

4) Object[] oa=new Object[1];

5) oa[0]=o;

6) o=null;

7) oa[0]=null;

8) System.out.println(oa[0]);

9) }

10) }

which line is the earliest point the object a refered is definitely elibile

to be garbage collectioned?

A.After line 4

B. After line 5

C.After line 6

D.After line 7

E.After line 9(that is,as the method returns)

Answer:D

如果6) o=null 变成o=9f ,并且把7)去掉,那么8)将会输出什么呢?

10. 1) interface Foo{

2) int k=0;

3) }

4) public class Test implements Foo{

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

6) int i;

7) Test test = new Test();

8) i = test.k;

9) i = Test.k;

10) i = Foo.k;

11) }

12) }

what is the result? Answer:compile successed and i=0 接口中的int k=0虽然没有访问修饰符,但在接口中默认是static和final的

11. what is reserved words in java?

A. run

B. default

C. implement

D. import

Answer:B,D

12. public class Test{

public static void main(String[] args){

String foo=args[1];

Sring bar=args[2];

String baz=args[3];

}

}

java Test Red Green Blue

what is the value of baz?

A. baz has value of ""

B. baz has value of null

C. baz has value of Red

D. baz has value of Blue

E. baz has value of Green

F. the code does not compile

G. the program throw an exception

Answer:G

分析:感觉原应该多一些语句吧,至少应该有红绿蓝的赋值语句之类的,才能叫java Test Red Green Blue 才能有后面的选项,所以现在感觉很奇怪,不过就这个样子吧.这个问题在于:数组参数的理解,编译程序没有问题,但是运行这个程序就会出现问题,因为参数args没有给他分配空间那么他的长度应该是0,下面却用拉args[1]........等等的语句,那么定会出现越界错误. 错误如下:Exception in thread "main" https://www.360docs.net/doc/0e7632544.html,ng.ArrayIndexOutOfBoundsException: 1

at Test.main(Test.java:4)

13. int index=1;

int foo[]=new int[3];

int bar=foo[index];

int baz=bar+index;

what is the result?

A. baz has a value of 0

B. baz has value of 1

C. baz has value of 2

D. an exception is thrown

E. the code will not compile

Answer:B

分析:《thinking in java》中的原话:若类的某个成员是基本数据类型,即使没有进行初始化,java也会确保它获得一个默认值,如下表所示:

基本类型

默认值

boolean

false

char

'\u0000'(null)

byte

(byte)0

short

(short)0

int

long

0L

float

0.0f

double

0.0d

千万要小心:当变量作为类的成员使用时,java才确保给定其默认值,。。。。。(后面还有很多话,也很重要,大家一定要看完成,要不然还是不清楚)

14. which three are valid declaraction of a float?

A. float foo=-1;

B. float foo=1.0;

C. float foo=42e1;

D. float foo=2.02f;

E. float foo=3.03d;

F. float foo=0x0123;

Answer:A,D,F 分析:B错误,因为1.0在java中是double类型的,C,E错误同样道理,都是double类型的

15. public class Foo{

public static void main(String args[]){

String s;

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

}

}

what is the result?

Answer:compile error 分析:需要对s进行初始化,和13题是不是矛盾呢:不矛盾,因为它不是基本类型,也不是类的成员,所以不能套用上述的确保初始化的方法。

16. 1) public class Test{

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

3) int i =0xFFFFFFF1;

4) int j=~i;

5)

6) }

7) }

which is decimal value of j at line 5?

A. 0

B.1

C.14

D.-15

E. compile error at line 3

F. compile error at line 4

Answer:C 分析:int是32位的(范围应该在-231~231-1),按位取反后,后4位是1110,前面的全部是0,所以肯定是14

17. float f=4.2F;

Float g=new Float(4.2F);

Double d=new Double(4.2);

Which are true?

A. f==g

B. g==g

C. d==f

D. d.equals(f) E d.equals(g) F. g.equals(4.2);

Answer:B,E(网上的答案是B,E;我测试的结果是:true,true,false,false,fasle,fasle,所以答案是:A,B,还请各位大虾明示)

分析:以下是我从网络上找到的,但是感觉应用到这个题目上反而不对拉,郁闷中,希望能给大家有所提示,要是你们明白拉,记得给我留言啊!:~

1.基本类型、对象引用都在栈中;而对象本身在堆中;

2.“==“比的是两个变量在栈内存中的值,而即使变量引用的是两个对象,“==”比的依旧是变量所拥有的“栈内存地址值”;

3.equals()是每个对象与生俱来的方法,因为所有类的最终基类就是Object(除去Object本身);而equals()是Object的方法之一,也就是说equals()方法来自Object类。观察一下Object中equals()的source code:

public boolean equals(Object obj) { return (this == obj); }

注意:“return (this == obj)”this与obj都是对象引用,而不是对象本身。所以equals()的缺省实现就是比较“对象引用”是否一致,所以要比较两个对象本身是否一致,须自己编写代码覆盖Object类里的equals()的方法。来看一下String类的equals方法代码:

public boolean equals(Object anObject){

if(this == anObject){

return true;

}

if(anObject instanceof String){

String anotherString = (String)anObject;

int n = count;

if(n == anotherString.count){

char v1[] = value;

char v2[] = anotherString.value;

int i = offset;

int j = anotherString.offset;

while(n-- != 0){

if(v1[i++] != v2[j++])

return false;

}

return true;

}

}

return false;

}

18. public class Equals{

public static void add3(Integer i){

int val = i.intValue();

val += 3;

i = new Integer(val);

}

public static void main(String args[]){

Integer i=new Integer(0);

add3(i);

System.out.println(i.intValue());

}

}

what is the result?

A. compile fail

B.print out "0"

C.print out "3"

https://www.360docs.net/doc/0e7632544.html,pile succeded but exception at line 3

Answer:B 分析:java只有一种参数传递方式,那就是值传递.(大家可以看我转载的另一个同名文章,会让大家豁然开朗)

19. public class Test{

public static void main(String[] args){

System.out.println(6^3);

}

}

what is output? Answer:5分析: ^ is yi huo(计算机器上是Xor) ;异或的逻辑定义:真^真=假真^假=真假^真=真假^假=假

20. public class Test{

public static void stringReplace(String text){

text=text.replace('j','l');

}

public static void bufferReplace(StringBuffer text){

text=text.append("c");

}

public static void main(String args[]){

String textString=new String("java");

StringBuffer textBuffer=new StringBuffer("java");

stringReplace(textString);

bufferReplace(textBuffer);

System.out.println(textString+textBuffer);

}

}

what is the output?

Answer:javajavac

分析:根据我转载的一篇文章可以得出答案,不过还有几个类似的题目,用该文章解释不通,因为本人对java传递参数也一直没有弄明白,所以,还请大虾多多指教.

21. public class ConstOver{

public ConstOver(int x, int y, int z){}

}

which two overload the ConstOver constructor?

A.ConstOver(){}

B.protected int ConstOver(){}//not overload ,but no a error

C.private ConstOver(int z, int y, byte x){}

D.public void ConstOver(byte x, byte y, byte z){}

E.public Object ConstOver(int x, int y, int z){}

Answer:A,C

分析:测试不通过的首先是B,E,因为要求有返回值,这2个选项没有,要想通过编译那么需要加上返回值,请注意如果加上返回值,单纯看选项是没有问题拉,可以针对题目来说,那就是错之又错拉,对于构造器来说是一种特殊类型的方法,因为它没有返回值.对于D选项在91页有详细的介绍,空返回值,经管方法本身不会自动返回什么,但可以选择返回别的东西的,而构造器是不会返回任何东西的,否则就不叫构造器拉.

22. public class MethodOver{

public void setVar(int a, int b, float c){}

}

which overload the setVar?

A.private void setVar(int a, float c, int b){}

B.protected void setVar(int a, int b, float c){}

C.public int setVar(int a, float c, int b){return a;}

D.public int setVar(int a, float c){return a;}

Answer:A,C,D 分析:方法的重载,根据概念选择,B是错误的,因为他们有相同的参数列表,所以不属于重载范围.

23. class EnclosingOne{

public class InsideOne{}

}

public class InnerTest{

public static void main(String args[]){

EnclosingOne eo=new EnclosingOne();

//insert code here

}

}

A.InsideOne ei=eo.new InsideOne();

B.eo.InsideOne ei=eo.new InsideOne();

C.InsideOne ei=EnclosingOne.new InsideOne();

D.InsideOne ei=eo.new InsideOne();

E.EnclosingOne.InsideOne ei=eo.new InsideOne();

Answer:E

24. What is "is a" relation?

A.public interface Color{}

public class Shape{private Color color;}

B.interface Component{}

class Container implements Component{ private Component[] children; }

C.public class Species{}

public class Animal{private Species species;}

D.interface A{}

interface B{}

interface C implements A,B{}//syntex error

Answer:B 我没有明白这个题目的意思,有人能告诉我嘛?

25. 1)package foo;

2)

3)public class Outer{

4) public static class Inner{

5) }

6)}

which is true to instantiated Inner class inside Outer?

A. new Outer.Inner()

B. new Inner()

Answer:B

if out of outerclass A is correct 分析:在Outer内部,B方式实例化内部类的方法是正确的,如果在Outer外部进行inner的实例化,那么A方法是正确的.

26. class BaseClass{

private float x=1.0f;

private float getVar(){return x;}

}

class SubClass extends BaseClass{

private float x=2.0f;

//insert code

}

what are true to override getVar()?

A.float getVar(){

B.public float getVar(){

C.public double getVar(){

D.protected float getVar(){

E.public float getVar(float f){

Answer:A,B,D 分析:返回类型和参数列表必须完全一致,且访问修饰符必须大于被重写方法的访问修饰符.

27. public class SychTest{

private int x;

private int y;

public void setX(int i){ x=i;}

public void setY(int i){y=i;}

public Synchronized void setXY(int i){

setX(i);

setY(i);

}

public Synchronized boolean check(){

return x!=y;

}

}

Under which conditions will check() return true when called from a different class?

A.check() can never return true.

B.check() can return true when setXY is callled by multiple threads.

C.check() can return true when multiple threads call setX and setY separately.

D.check() can only return true if SychTest is changed allow x and y to be set separately. Answer:C

分析:答案是C,但是我想不出来一个测试程序来验证C答案.希望高手们给我一个测试的例子吧,万分感谢..........

28. 1) public class X implements Runnable{

2) private int x;

3) private int y;

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

5) X that =new X();

6) (new Thread(that)).start();

7) (new Thread(that)).start();

}

9) public synchronized void run(){

10) for(;;){

11) x++;

12) y++;

13) System.out.println("x="+x+",y="+y);

14) }

15) }

16) }

what is the result?

https://www.360docs.net/doc/0e7632544.html,pile error at line 6

B.the program prints pairs of values for x and y that are always the same on the same time

Answer:B 分析:我感觉会出现不相等的情况,但是我说不出为什么会相等。线程方面,还有好多路要走啊,咳

29. class A implements Runnable{

int i;

public void run(){

try{

Thread.sleep(5000);

i=10;

}catch(InterruptedException e){}

}

public static void main(String[] args){

try{

A a=new A();

Thread t=new Thread(a);

t.start();

17)

int j=a.i;

19)

}catch(Exception e){}

}

}

what be added at line line 17, ensure j=10 at line 19?

A. a.wait();

B. t.wait();

C. t.join();

D.t.yield();

E.t.notify();

F. a.notify();

G.t.interrupt(); Answer:C

30. Given an ActionEvent, how to indentify the affected component?

A.getTarget();

B.getClass();

C.getSource(); //public object

D.getActionCommand();

Answer:C

31. import java.awt.*;

public class X extends Frame{

public static void main(String[] args){

X x=new X();

x.pack();

x.setVisible(true);

}

public X(){

setLayout(new GridLayout(2,2));

Panel p1=new Panel();

add(p1);

Button b1=new Button("One");

p1.add(b1);

Panel p2=new Panel();

add(p2);

Button b2=new Button("Two");

p2.add(b2);

Button b3=new Button("Three");

p2.add(b3);

Button b4=new Button("Four");

add(b4);

}

}

when the frame is resized,

A.all change height

B.all change width

C.Button "One" change height

D.Button "Two" change height

E.Button "Three" change width

F.Button "Four" change height and width

Answer:F

32. 1)public class X{

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

3) String foo="ABCDE";

4) foo.substring(3);

5) foo.concat("XYZ");

6) }

7) }

what is the value of foo at line 6?

Answer:ABCDE

33. How to calculate cosine 42 degree?

A.double d=Math.cos(42);

B.double d=Math.cosine(42);

C.double d=Math.cos(Math.toRadians(42));

D.double d=Math.cos(Math.toDegrees(42));

E.double d=Math.toRadious(42);

Answer:C

34. public class Test{

public static void main(String[] args){

StringBuffer a=new StringBuffer("A");

StringBuffer b=new StringBuffer("B");

operate(a,b);

System.out.pintln(a+","+b);

}

public static void operate(StringBuffer x, StringBuffer y){

x.append(y);

y=x;

}

what is the output?

Answer:AB,B 分析:这道题的答案是AB,B,网上有很多答案给错啦,大家注意啊。

35. 1) public class Test{

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

3) class Foo{

4) public int i=3;

5) }

6) Object o=(Object)new Foo();

7) Foo foo=(Foo)o;

System.out.println(foo.i);

9) }

10) }

what is result?

https://www.360docs.net/doc/0e7632544.html,pile error at line 6

https://www.360docs.net/doc/0e7632544.html,pile error at line 7

C.print out 3

Answer:C

36. public class FooBar{

public static void main(String[] args){

int i=0,j=5;

4) tp: for(;;i++){

for(;;--j)

if(i>j)break tp;

}

System.out.println("i="+i+",j="+j);

}

}

what is the result?

A.i=1,j=-1

B. i=0,j=-1

C.i=1,j=4

D.i=0,j=4

https://www.360docs.net/doc/0e7632544.html,pile error at line 4

Answer:B

37. public class Foo{

public static void main(String[] args){

try{System.exit(0);}

finally{System.out.println("Finally");}

}

}

what is the result?

A.print out nothing

B.print out "Finally"

Answer:A

system.exit(0) has exit

38. which four types of objects can be thrown use "throws"?

A.Error

B.Event

C.Object

D.Excption

E.Throwable

F.RuntimeException

Answer:A,D,E,F

分析:throw,例如:throw new IllegalAccessException("demo");是一个动作。而throws则是异常块儿的声明。所以感觉题目应该是“throw”

39. 1)public class Test{

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

3) unsigned byte b=0;

4) b--;

5)

6) }

7) }

what is the value of b at line 5?

A.-1

B.255

C.127

https://www.360docs.net/doc/0e7632544.html,pile fail

https://www.360docs.net/doc/0e7632544.html,pile succeeded but run error Answer:D

40. public class ExceptionTest{

class TestException extends Exception{}

public void runTest() throws TestException{}

public void test() /* point x */ {

runTest();

}

}

At point x, which code can be add on to make the code compile?

A.throws Exception

B.catch (Exception e)

Answer:A

41. String foo="blue";

boolean[] bar=new boolean[1];

if(bar[0]){

foo="green";

}

what is the value of foo?

A.""

B.null

C.blue

D.green

Answer:C

42. public class X{

public static void main(String args[]){

Object o1=new Object();

Object o2=o1;

if(o1.equals(o2)){

System.out.prinln("Equal");

}

}

}

what is result?

Answer:Equal

java源代码经典入门案例—光环java编程培训机构

java源代码经典入门案例 class Demo { public static void main(String[] args) { System.out.println("hello E盘"); } } class Demo { public static void main(String[] args) { System.out.println("hello E盘"); } } /* 需求:练习一个hello world程序。 思路: 1,定义一个类,因为java程序都定义类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现。 2,定义一个主函数。为了让该类可以独立运行。 3,因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成。 步骤: 1,用class关键字来完成类的定义,并起一个阅读性强的类名。 2,主函数:public static void main(String[] args)这时固定格式的。jvm认识。 3,使用输出语句:System.out.println("hello world"); 代码仅仅是思想的一种体现形式。 */ class Demo

{ //定义一个主函数,为了保证程序的独立运行。 public static void main(String[] args) { System.out.println("hello world");//这是输出语句,用于将括号中的数据打印到控制台上,ln可以在数据的结尾处换行。 } } class OperateDemo { public static void main(String[] args) { //算术运算符。+ - * / %(取余,模运算) +(连接符) // ++(自增:就在原有数据基础上+1,在赋给原有数据) -- //int x = 6370; //x = x / 1000 * 1000; //System.out.println(x); // System.out.println(5%2); // System.out.println(3+"2"); //System.out.println("5+5="+(5+5));//"5+5=5"+5 "5+5=55" //int a = 4,b = 5; //System.out.println("a="+a+",b="+b);//a=4,b=5; int a = 3,b; //a++;//a = a+1; // b = a++; b = (a++)+(++a)+(a++)+a; // 3 5 5 6 System.out.println("a="+a+",b="+b); int i = 3; i = i++;

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

JAVA经典算法案例

JA V A经典算法40例 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % i==0 ) return false; return true; } } 【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0e7632544.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.360docs.net/doc/0e7632544.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0e7632544.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/0e7632544.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0e7632544.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3 12.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

Java面试测试题并赋予答案

在main(String[] args)方法内是否可以调用一个非静态方法? 1.不能 同一个文件里是否可以有两个public类? 2.不能 方法名是否可以与构造器的名字相同? 3.可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4.初始化了一个没有run()方法的线程类,是否会出错? 4.不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args)

{ ThreadClass t = new ThreadClass(); Thread thread = new Thread(t); thread.start(); System.out.println("end"); } } class ThreadClass implements Runnable { public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。 { System.out.println("Threads"); } } 局部内部类是否可以访问非final变量? 不能访问局部的非final修饰的变量,可以访问局部的使用了final修饰的变量,可以访问成员变量(全局的)。 class Out { private String name = "https://www.360docs.net/doc/0e7632544.html,"; void print() { final String work = "out.local.work";//若不是final的则不能被Animal 使用. int age=10; class Animal //定义一个局部内部类.只能在print()方法中使用. //局部类中不能使用外部的非final的局部变量.全局的可以. { public void eat() { System.out.println(work);/ /ok //age=20;//error not final,编译时就会出错 System.out.println(name);/ /ok. } } Animal local = new Animal(); local.eat(); }

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

Java程序设计试题及答案

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 3、关于下面代码的说法(C)是正确的 public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=; B、Double a=new Double C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

java经典案例与项目

Java学习的经典的案例收集 1:九九乘法表 /* 功能:实现九九乘法表的输出 时间:2013年7月4日 */ public class jiujiuchengfabiaoDemo { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); } } } 结果: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 2:输出等腰三角形 public class SanJiaoDemo { public static void main(String[] args) { for(int a=1;a<=5;a++){ for(int b=1;b<=5-a;b++){ System.out.print(" "); }

JAVA笔试题--Java选择题100道

1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;}

Java试题及答案

1、在中如果声明一个类为,表示什么意思? 答:是最终的意思,可用于定义变量、方法和类但含义不同,声明为的类不能被继承。 2、父类的构造方法是否可以被子类覆盖(重写)? 答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。 3、请讲述和的区别。 答:类所定义的对象是用于存放“长度固定”的字符串。 类所定义的对象是用于存放“长度可变动”的字符串。

4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢? 答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。 5、结合视频5(多线程),分析()和()方法的区别。 答:睡眠的意思 : () 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。 等待的意思: 如果调用了 () 方法,线程将处于等待状态。 用于在两个或多个线程并发运行时。 6、谈谈你对抽象类和接口的理解。 答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。 他使用来继承。 接口:一个接口允许一个类从几个接口继承而来,程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是来实现。 7. 的接口和的虚类的相同和不同处。 由于不支持多继承,而有可能某个类或对象要使用分别在几

个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是,所有方法默认情况下是.一个类可以实现多个接口。 8. 垃圾回收的优点和原理。并考虑2种回收机制。 语言中一个显著的特点就是引入了垃圾回收机制,使程序员最头疼的内存管理的问题迎刃而解,它使得程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 9.谈谈,,的区别。 -修饰符(关键字)如果一个类被声明为,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为的,又被声明为的。将变量或方法声明为,可以保证它们在使用中不被改变。被声明为的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为的方法也同样只

Java九大示例程序

JAVA面向对象九个经典例子程序 1 Hello world例子 (1) 2 类的基本组成示例 (1) 3静态与非静态变量及方法的使用 (3) 4 类继承的例子 (3) 5类的访问修饰符 (4) 6抽象类及其实现示例 (5) 7接口及其实现 (6) 8 抽象类与接口混合编程例子 (7) 9 接口回调与多态性 (8) 1 Hello world例子 package Example; //定义自己的包名 public class Example1 //定义一个类 { public static void main(String[] args) //系统可以执行的main方法,这里是一个公有静态无返回值的方法 { System.out.println("Hello world!"); //调用https://www.360docs.net/doc/0e7632544.html,ng包中的System类的PrintLine方法输出Hello world! } } 2 类的基本组成示例 package Example; class Person { public int age; //声明公共字段age private String name; //声明私有字段name,此时name为类的属性,下面通过公有方法进行访问 public String getName() { return name;

} public void setName(String name) { https://www.360docs.net/doc/0e7632544.html, = name; } public void eat() //定义无参数的eat方法 { System.out.println("Person can eat"); } public void eat(String s) //定义带参数的eat方法,实现方法重载 { System.out.println("Person can eat"+s); } public Person() //定义无参构造函数,注意无返回值定义,方法与类同名 { } public Person(int age, String name) //重写一个带参数构造函数,注意无返回值定义,方法与类同名 { this.age = age; //前一个age为对象的字段,由this指定,后一个age为函数形参 https://www.360docs.net/doc/0e7632544.html, = name; //前一个name为对象的属性,由this指定,因为在本类中可直接访问,后一个name为函数形参 } } public class Example2 { public static void main(String[] args) { Person person1 = new Person(); //调用类的无参构造函数 person1.age = 20; //给对象的公有字段直接赋值 person1.setName("zhangsan"); //必须使用公共方法才能给对象的属性赋值 System.out.println("第一个人信息,姓名:"+person1.getName()+"年 龄:"+person1.age); person1.eat(); //调用对象的无参方法 Person person2 = new Person(18, "lisi");//调用类的有参构造函数 System.out.println("第二个人信息,姓名:"+ person2.getName() + "年龄:"+ person2.age); person2.eat(" 馒头"); //调用对象的有参方法 } }

JAVA试题及答案(精致),DOC

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2EE B、JAVA2Card C、JAVA2ME D、J AVA2HE E、J AVA2SE 2、下列说法正确的就是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起 来 3、变量命名规范说法正确的就是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A与a在java中就是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的就是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/

C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean=1; B、booleana=(9>=10); C、booleana="真"; D、b ooleana==false; 6、以下( C )不就是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值就是( D ) A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual=str、equals("q"); D、c ount==i;

9、运算符优先级别排序正确的就是(A ) A、由高向低分别就是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别就是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别就是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别就是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果就是:( B ) publicclassIncrement{ publicstaticvoidmain(Stringargs[]){ inta; a=6; } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john"=="john" B、"john"、equals("john") C、"john"="john" D、"john"、equals(newString("john")) 12、下列输出结果就是( C ) inta=0; while(a<5){

java递归的经典例子

java递归的经典例子 1。汉诺塔 这是递归的超经典的例子,几乎每本程序设计书上谈到递归都会介绍。具体情景不再赘述。以我上述的方法观之:(1)递归的出口在于disk数为一的时候(2)向出口逼近:如果不是一,是n ,则我们先挪动上面n-1块disk,等上面挪完,即递归返回的时候,我们挪动最底下的disk。 仅仅如此,一个貌似十分复杂的问题就解决了,因为挪动那n-1块disk的时候,会继续向上减少,直到disk的数量为一为止。下面给出java程序编码(已测试过,运行正常): import javax.swing.JOptionPane; public class Hanoi { private static final String DISK_B = "diskB"; private static final String DISK_C = "diskC"; private static final String DISK_A = "diskA"; static String from=DISK_A; static String to=DISK_C; static String mid=DISK_B; public static void main(String[] args) { String input=JOptionPane.showInputDialog("please input the number of the disks you want me move."); int num=Integer.parseInt(input); move(num,from,mid,to); } private static void move(int num, String from2, String mid2, String to2) { if(num==1){ System.out.println("move disk 1 from "+from2+" to "+to2); } else { move(num-1,from2,to2,mid2); System.out.println("move disk "+num+" from "+from2+" to "+to2); move(num-1,mid2,from2,to2); } } } 2。这是一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是"abc" 则程序会输出:

相关文档
最新文档