从不同的类文件执行方法

时间:2017-10-14 08:10:37

标签: java

我无法使用其他类运行以下程序。谁能告诉我怎么做?我使用了另一个名为msgTester的类文件并运行了methodA()

class msg{
  public int content;
}

public class Quiz8A{

  public int sum;
  public int y;

  public void methodA() {
    int x=0, y =0, i=0;
      msg mg = new msg();
      mg.content = 1;
      while (i<3) {
        y = y + mg.content;
        methodB(mg);
        x = y + mg.content;
        sum += x + y;
        System.out.println(x + " " + y+ " " + sum);
        i++;
      }
    }

    private void methodB(msg mg2){
      int x = 0;
      y = y + mg2.content;
      x = x + 3 + y;
      sum = x + y;
      mg2.content = x;
      System.out.println(x + " " + y+ " " + sum);
    }
  }

这是测试类:

 public class msgTester { 

   public static void main(String[] args) { 

     Scanner abc = new Scanner(System.in); 
     msg A = new msg(); 
     A.methodA(); 

  } 
}

2 个答案:

答案 0 :(得分:0)

在重新格式化代码后,很明显您需要创建Quiz8A的新实例而不是msg。所以你的测试人员应该是这样的:

public class msgTester { 
  public static void main(String[] args) { 
    Scanner abc = new Scanner(System.in); 
    Quiz8A quiz8A = new Quiz8A (); 
    quiz8A.methodA(); 
  }
} 

在您开始了解如何编程,开始构建您的工作之前,作为编码初学者的一些重要建议:

  • 格式化代码!这对于阅读它非常重要。
  • 为变量使用描述符名称!通过记住哪个变量包含/表示你会感到很困惑。
  • 班级名称始终大写!实例名称始终为小写

答案 1 :(得分:0)

您应该在代码中改进几个方面。

  1. 使用命名标准。类名应以Caps(Class Msg)
  2. 开头
  3. 格式化代码,以便于阅读
  4. 在MsgTester类中,扫描程序实例未使用。
  5. 回答你的问题。您尝试访问Quiz8A类中的方法。但是您为Msg创建了一个实例。所以编译器投诉没有这样的方法。

    import java.util.Scanner;
    
    public class msgTester {
        public static void main(String[] args) {
            Scanner abc = new Scanner(System.in);
            Quiz8A obj = new Quiz8A();
            obj.methodA();
        }
    }