-1

if-else ループの変数をメソッドの引数として使用する必要があるか、if-else ループの外のどこかで同じクラス内にあるとします。

     public static String myvar;

                if(x > 5) {
                    myvar = 0 ;
                    Double  y = Double.parseDouble(myvar);
                    System.out.println("The value is: "+ y); }
                else
                {

                  Double  y= Double.parseDouble(myvar);
                  System.out.println("The value is: "+ y);
                }

したがって、ループのどこかで変数 y を使用するたびに、変数に解決できません。この変数を if-else ループの外で使用するにはどうすればよいですか?

4

3 に答える 3

4

直前のif-elseの外で変数を宣言するだけです。

Double y = 0; if () y =X; else y =Y;

于 2013-02-14T15:42:15.250 に答える
1

いくつかのオプションがあります。

  • クラスメンバー変数として宣言できます
  • が存在するメソッドのスコープ内で宣言できif/elseます。

いくつかの例:

// as a member variable

public String myvar;
private Double y;

public void SomeMethod(int x)
{
    if(x > 5)
    {
        this.myvar = "0";
        this.y = Double.parseDouble(this.myvar);
        System.out.println("The value is: " + this.y);
    }
    else
    {
        this.y = Double.parseDouble(this.myvar);
        System.out.println("The value is: " + this.y);
    }

    // use this.y here
}

また

// as a method variable

public String myvar;

public void SomeMethod(int x)
{
    Double y;

    if(x > 5)
    {
        this.myvar = "0";
        y = Double.parseDouble(this.myvar);
        System.out.println("The value is: " + y);
    }
    else
    {
        y = Double.parseDouble(this.myvar);
        System.out.println("The value is: " + y);
    }

    // use y here
}
于 2013-02-14T15:49:59.430 に答える
0

yif-else ループの外で変数を宣言して初期化する必要があります。

また、ステートメントは文字列myvar = 0;としてコンパイルされませんmyvar

String myvar = "0";
Double y = 0.0;

if(x > 5) {
  y = Double.parseDouble(myvar);
  System.out.println("The value is: "+ y);
} else {
  y= Double.parseDouble(myvar);
  System.out.println("The value is: "+ y);
}
于 2013-02-14T15:49:08.983 に答える