【问题标题】:using method result in another method使用方法导致另一种方法
【发布时间】:2017-04-26 10:13:10
【问题描述】:
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 语句中获取enter image description hereerror

【问题讨论】:

  • 在 method2() 中,您尝试使用参数 a、b,但它们不在该方法中。
  • ab 是方法参数,而不是结果。它们在method2 中未定义。你想在method2 中总结什么? z 应该大于什么?
  • 您必须将 a 和 b 参数传递给 method2 才能被方法 1 使用

标签: java methods


【解决方案1】:

您没有在方法 2 中声明变量 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");
}   

【讨论】:

    【解决方案2】:

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

    你可以这样做:

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

    然后通过做来调用它

    method2(method1(a,b));
    

    【讨论】:

      【解决方案3】:

      a,b 变量不是全局变量。因此这些变量对于定义它们的方法来说是局部的。

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

      为此,也将变量传递给方法2,就像对方法1所做的那样,或者将方法1的结果存储在一个变量中,然后将该变量传递给方法2,然后进行比较。

      【讨论】:

        【解决方案4】:

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

        类方法{

        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");
            }
        }
        

        }

        【讨论】:

          【解决方案5】:

          包 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;
          }
          

          }

          【讨论】:

          • 这是一个答案?或者对问题进行一些编辑?一些解释会很好!
          • 这是我想测试的最终答案
          猜你喜欢
          • 1970-01-01
          • 2017-10-30
          • 1970-01-01
          • 2020-08-02
          • 1970-01-01
          • 2013-02-10
          • 1970-01-01
          • 2012-03-10
          • 1970-01-01
          相关资源
          最近更新 更多