-2

このコードがあるとしましょう

public static long number;
public static void main(String args[]) {
    String str1 = args[0];
    System.out.println("str1 is = " + str1);
    long number = Long.parseLong(str1);
    System.out.println("number value is = " + number);
}

public static void test1(){
    System.out.println("number value inside test1 is = " + number);
}

引数として 12345 を渡すと、o/p は次のようになります。

 str1 is  12345
 number value is  12345
 number value inside test1 is  0

私が望むのは、arg[0] (ユーザー引数) または test1 メソッド内の数値 (12345) の元の値にもアクセスできるようにすることです。Plsは私がそれをするのを手伝ってください. ありがとう。!

4

3 に答える 3

3

クラスレベルnumberを の解析値に設定しますstr1。現在、メイン メソッドを超えるスコープを持たないローカル フィールドを設定しています。

使用する:

number = Long.parseLong(str1);

それ以外の:

long number = Long.parseLong(str1);
于 2012-09-19T04:35:57.577 に答える
0

そのためには、グローバル変数を使用するか、test1関数に値を渡す必要があります。

グローバル変数を使用しようとしましたが、初期化するときに型を前に置く必要はありません。それはローカルになるからです。したがって、次を使用してください:

number = Long.parseLong(str1);

に値を渡すときのコードは次のtest1とおりです。

public static void main(String args[]) {
    String str1 = args[0];
    System.out.println("str1 is = "+str1);
    long number = Long.parseLong(str1);
    System.out.println("number value is = "+number);
}

public static void test1(long number){
     System.out.println("number value inside test1 is = "+number);
}

次に、使用するだけです

test1(number);

main()メソッド内のどこかに。

于 2012-09-19T04:38:10.697 に答える
0

long number = Long.parseLong(str1);

上記を実行すると、という名前の別の変数が宣言され numberます。

Class variable(つまり、静的フィールド)にアクセスするには、これを行います

number = Long.parseLong(str1);

于 2012-09-19T04:48:10.830 に答える