-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

您必须y在 if-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 回答