使用方法导致另一种方法

时间:2016-12-11 11:38:21

标签: java methods

class Method {

 public static void main(String[] args) {
    int a =1, b=2;
    method1(a,b);
    method2();
 }

 public static int method1(int a, int b) {
    int c = (a + b);
    return c;
 }

 public static void method2() {
   int z=11;
   if (z >= method1(a,b)) {System.out.println("Method 2 works");}
 }   
}
在if语句中

-getting enter image description here错误

5 个答案:

答案 0 :(得分:0)

你没有在method2中声明变量a和b,这导致你看到的错误。

如果您想使用方法使用局部变量,可以尝试以下方法:

public static void method2() {
    int a = 1;
    int b = 2;
    int z=11;
    if (z >= method1(a,b)) {System.out.println("Method 2 works");
}   

答案 1 :(得分:0)

如果方法2需要来自其他方法的结果输入,那么您可以通过多种方式进行,更像是设计风格

你可以这样做:

public static void method2(int x) {
   int z=11;
   if (z >= x) {System.out.println("Method 2 works");}
 }

通过执行

来调用它
method2(method1(a,b));

答案 2 :(得分:0)

a,b变量不是全局的。因为这些变量是定义它们的那些方法的本地变量。

在方法2中,您尚未定义a,b变量并尝试访问它们。

对于这个传递,方法2的变量也与方法1一样,或者将方法1存储在变量中并将该变量传递给method2然后进行比较。

答案 3 :(得分:-1)

谢谢大家的帮助。最后我明白了。我正在尝试学习应用方法的不同方法。现在它工作正常。

类方法{

public static void main(String[] args) {
    int a = 1, b = 2, e = 3;
    System.out.println(method1(a, b));
    System.out.println(method2(a, b, e));
    method3();
}

public static int method1(int a, int b) {

    int c = (a + b);
    System.out.print("Method 1 burada işləyir ");
    return c;
}

public static int method2(int a, int b, int e) {
    int q = (a + b + e);

    System.out.print("Method 2 işləyir və nəticə ");

    return q;
}

public static void method3() {
    int z = 11;
    int a = 4;
    int b = 6;
    if (z >= method1(a, b)) {
        System.out.println("Method 3 işləyir");
    }
}

}

答案 4 :(得分:-1)

包com.ZJAVAKITABI;

类方法{

public static void main(String[] args) {
    int a = 1, b = 2, e = 3;
    System.out.println(method1(a, b, e));
    System.out.println(method2());
    method3();
    method4();
    System.out.println(method5(a, b));
}

public static int method1(int a, int b, int e) {
    int q = (a + b + e);
    System.out.print("3 parametrli Method 1 işləyir və nəticə ");
    return q;
}

public static int method1(int a, int b) {
    int mf = (a + b);
    System.out.print("2 parametrli Method1 işləyir. Nəticə: ");
    return mf;
}

public static int method2() {
    int a = 4, b = 6;
    int z = a + b;
    System.out.print("Method 2 işləyir və nəticə ");
    return z;
}

public static void method3() {
    System.out.println("Method 3 işləyir, Void nəticə vermir");
}

public static void method4() {
    int v = 5, m = 5;
    int n = v + m;
    System.out.println("Method 4 işləyir, hesablama nəticəsi " + n);
}

public static int method5(int a, int b) {
    int u = 9;
    System.out.print("Method 5 və daxilindəki ");
    int s = method1(a, b) + u + 2; 
    return s;
}

}