JAVA程序分析题,求大神帮解答!高分悬赏!刚分附加!

(1)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?
1 class Mystery {
2 String s=null;
3 public static void main(String[]args) {
4 Mystery m = new Mystery(); m.go();
5 }
6 void Mystery() { s = "constructor"; }
7 void go() { System.out.println(s); }
8 }

(2)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?
1 publicclass Test {
2 inti=1;
3 publicstatic void main(String[] args){
4 for(int i = 0; i < 3; i++){
5 System.out.print(i);
6 }
7 System.out.print(i);
8 }
9 }

(3)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?
1 publicclass Test {
2 publicstatic void main(String args[]) {
3 MyClass a = new MyClass(3);
4 MyClass b = new MyClass(6);
5 Test.swap(a,b);
6 System.out.println("ais "+ a.v +"; b is " + b.v);
7 }
8 staticvoid swap (MyClass a , MyClass b) {
9 MyClass t = a; a=b; b=a;
11 }
12 }
13 class MyClass{
14 int v ;
15 MyClass(int v){ this.v= v; }
16 }

类似这样的题有十几道,越快越好在线等 QQ:510800230
(5)下面代码是否正确?如果正确,运行后输出什么?否则请解释出现错误的原因?
1 classTest{
2 publicstatic void main(String args[]) {
3 MyClass a = new MyClass();
4 }
5 }
6 class MyClass{
7 privateMyClass(){
8 System.out.println("constructor");
9 }
10 }
11. }

1、肯定输出null啊,因为构造方法是没有返回值的,你这个只是一个普通的方法而已。
2、inti=1;出错了,没有int i = 1,再者就是for中定义了int i,也是报错的。
3、程序输出是ais3 ;bis 6,因为你的swap方法是void的,定义的a b只能在此方法中生效追问

错误在说的规范点,怎么修改也说下

追答

1题如果想输出constructor就修改void Mystery() { s = "constructor"; }去掉void即可。
2题的int i = 1;改成int j = 1;

追问

能留个联系方式么,还有写题!多谢了

追答

发贴求助吧,都是基本的东西。

追问

题太多了,发不上来!!

追答

这上面不想留联系方式,可以分贴发。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-27

    1 输出为null     那个不是构造方法

    错误:静态方法访问成员变量必须是静态的成员变量 下面那个 System.out.println(i);会不能编译通过  如果将成员变量改成 static int i;就对了

    输出:ais 6 ;b is 3

     

第2个回答  2013-06-27
(1)constructor

(2)错误,因为第7行System.out.print(i);中的i没有定义,可以main函数中定义Test对象,然后用对象引用i,或者在将main函数中循环的int i=0;放在循环之前。

(3)输出为:a is 3; b is 6追问

能留个联系方式么,我这还有一些题!!

第3个回答  2013-06-27
1.正确,输出null
2.不正确,"int i"在方法外已声明过一次
3.正确,输出"a is 3;b is 6"
相似回答