2016-07-17 5 views
0

だ行っていないことである。は、メソッドを呼び出すと、それは私が2クラス1を作った、それは仕事

public class JavaApplication5 { 
    public static void main(String[] args) { 
    int y=0; 
    cats catobject = new cats(); 
    catobject.ma(y); 
    System.out.println(y); 
    } 
} 

他がある:方法のミリアンペア以来9をプリントアウトすることになっています

class cats { 

    public void ma(int x){ 
    x=x+9; 
    } 
} 

べき整数yに9を加えましたが、代わりに0を出力します。なぜですか?

+0

重複値または参照 –

+1

によって 'cricket_007 @ –

+0

int'、Integerオブジェクトを渡していませんか? –

答えて

1

javaのメソッドに整数を渡すと、メソッドはその整数のコピーを受け取ります。オリジナルは変更されません。詳細については、http://javapapers.com/core-java/java-pass-by-value-and-pass-by-reference/

intを返すように修正してください。このように:何:パスの

public class JavaApplication5 { 
    public static void main(String[] args) { 
    int y=0; 
    cats catobject = new cats(); 
    y = catobject.ma(y); 
    System.out.println(y); 
    } 
} 

class cats { 
    public int ma(int x){ 
    return x+9; 
    } 
} 
関連する問題