2016-11-08 4 views
0
public class practiceclock{ 

    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    int x = 5; 
    addTonum(x); 
    System.out.println(gby); 
    } 
    public static void addTonum(int gby) { 
    gby = gby + 1; 
    } 
} 

なぜこれは印刷されませんか?私は私の "addTonum"関数から整数gbyを出力しようとしています。私はそれがかなり基本的だと分かっています。個別の機能からの変数は、メインで印刷できません

+0

これはコンパイルされません! – Seelenvirtuose

+0

それはそれが印刷されないことを説明します。 –

+0

なぜ6を印刷する必要がありますか?あなたはプリミティブを渡してそれを増やしています。オブジェクト参照を渡していません。 – Compass

答えて

1

javaでは、変数をメソッドに引数として渡すと、元のインスタンスではなく、そのコピーを渡しています。これを修正するには、変数globalを作成するか、またはメソッドが整数を返すようにすることができます。

また、ショートカットとして

gby +=1; 

を使用します。

+0

オブジェクトでない限り。 –

+0

申し訳ありませんがトン。 –

関連する問題