public static void main(String[] args) {
int a= 10;
int b=10;
method(a,b);
System.out.println(a);//輸出100
System.out.println(b);//輸出200
}
public static void method(int a,int b){
//在不改變原本題目的前提下,如何寫這個函數才能在main函數中輸出a=100,b=200?
}
答案
基本數據類型確實無法改動成員變量的值,但是上面並沒有說是在main方法裏面輸出的內容所以這樣搞:
public static void method(int a,int b){
/**方法1:**/
System.out.println("a="+a*a+",b="+2*b*b);
System.exit(0);
/*** 方法2:*/
PrintStream Sys = new PrintStream(System.out){
@Override
public void println(String x) {
if(x !=null){
if(x.startsWith("a")){
super.println(x+0);
}if(x.startsWith("b")){
super.println("b="+200);
}
}else{
throw new NullPointerException();
}
}
};
System.setOut(Sys);
}