当前位置: 技术问答>java相关
scjp考题一道!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
来源: 互联网 发布时间:2015-03-09
本文导语: public class test { public static void add3(Integer i) { int val =i.intvalue(); val += 3; i=new Integer(val); } public static void main(String args[]){ Integer i = Integer(0); add3(i); System.out.println(i.intvalue); } } 编译不通过,可是我...
public class test
{
public static void add3(Integer i) {
int val =i.intvalue();
val += 3;
i=new Integer(val);
}
public static void main(String args[]){
Integer i = Integer(0);
add3(i);
System.out.println(i.intvalue);
}
}
编译不通过,可是我认为是0,不明白,请大家帮忙!!
{
public static void add3(Integer i) {
int val =i.intvalue();
val += 3;
i=new Integer(val);
}
public static void main(String args[]){
Integer i = Integer(0);
add3(i);
System.out.println(i.intvalue);
}
}
编译不通过,可是我认为是0,不明白,请大家帮忙!!
|
没错,结果是;但你的代码有问题。
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());
}
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());
}
|
其中有几点错误的地方,当然编译通不过了,不知道是不是你粗心大意打错的,
首先, 应该 Integer i = new Integer(0);
其次, i.intValue() 而不是i.intvalue(),也不是i.intvalue;
如果都改成这样,则编译通过,答案是0.
首先, 应该 Integer i = new Integer(0);
其次, i.intValue() 而不是i.intvalue(),也不是i.intvalue;
如果都改成这样,则编译通过,答案是0.
|
当然编译不通过了,
int val =i.intvalue();//i是在main()中定义的在这不认
val += 3;
i=new Integer(val);
int val =i.intvalue();//i是在main()中定义的在这不认
val += 3;
i=new Integer(val);