将方法更改为静态方法并更改方法的调用(Java)

将方法更改为静态方法并更改方法的调用(Java),java,Java,简要说明:我对编程还是新手,上节课没有介绍静态方法。我试着与我的教授取得联系,但她似乎有点太忙了,现在没有回应。以下为非评分作业;我只是想知道我应该在这里做什么 我应该做的是: 创建一个名为HelloPrinter的类,该类有一个方法可以执行以下操作: A.接受int参数作为次数。 B将该参数用作要在循环中使用的sentinel值。 C在循环中,如果数字是奇数,使用switch语句打印“Hello,Zhang博士”,如果数字是偶数,则打印“Hello,Class” 在main方法中,实例化此类的

简要说明:我对编程还是新手,上节课没有介绍静态方法。我试着与我的教授取得联系,但她似乎有点太忙了,现在没有回应。以下为非评分作业;我只是想知道我应该在这里做什么

我应该做的是:

  • 创建一个名为HelloPrinter的类,该类有一个方法可以执行以下操作: A.接受int参数作为次数。 B将该参数用作要在循环中使用的sentinel值。 C在循环中,如果数字是奇数,使用switch语句打印“Hello,Zhang博士”,如果数字是偶数,则打印“Hello,Class”
  • 在main方法中,实例化此类的一个对象并使用它调用该方法

  • 将该方法更改为静态方法并更改该方法的调用

  • 在HelloPrinter中,声明一个名为counter1的私有变量并将其初始化为零,声明另一个名为counter2的int变量并将其初始化为零
  • 为counter2添加static一词
  • 为HellopInter类创建不接受任何参数的构造函数。在构造函数的主体中,将counter1和counter2都增加1
  • 在名为getCounter1()的类中定义另一个方法,该方法不接受任何参数,但返回counter1的值。对计数器2执行同样的操作
  • 为HelloPrinter类定义一个toString()方法。该方法将返回带有标签的计数器1和计数器2的值
  • 测试主程序中的所有方法
  • 我所拥有的:

    public class HelloPrinter{
          private int counter1 = 0;
          private static int counter2 = 0;
    
          public HelloPrinter(int n){
               for(int x=1;x<=n;x++){
    
                    int i=x;
          //        System.out.println(x); <---testing only
                    switch(i%2){
                    case 0:
                          System.out.println("Hello Dr. Z");
                          break;
                    case 1:
                          System.out.println("Hello Class");
                          break;
         }
      }
    
    公共类HelloPrinter{
    私有int计数器1=0;
    专用静态int计数器2=0;
    公共HelloPrint(国际北){
    对于(int x=1;x
    如何将主方法更改为静态方法并更改方法的调用?需要做什么

    main
    方法是一种静态方法:

    public static void main(String[] args)
    {
        // This is the entry point into any JAR file. This is the first line of use 
        // code ran by the JRE.
    }
    
    如果您没有
    main
    方法,您的程序将不会作为应用程序运行。您应该向类中添加
    main
    方法,例如用于测试的类,
    Test

    public class Test
    {
        public static void main(String[] args) {
           // Add in your testing code here.
        }
    
    }
    
    main始终是静态的

    我认为你需要做的是在你的类中有一个非静态方法来进行打印。为了从main调用它,你需要从该类中创建一个对象。然后向你的类中添加一个静态方法。要调用静态方法,你不需要从你的类中创建一个对象

    因此:

    一,-

    二,-

    此外,main可以在同一个类(MyClass)中,也可以创建另一个单独包含main的类。

    “我的问题是如何将main方法更改为静态方法并更改方法的调用?需要做什么?我将如何做?”

    首先,
    main
    应该是一个静态方法;它的签名是

    public static void main(String args[])
    
    (字符串[]
    的名称无关紧要,但其余的必须在那里。)

    (如果你说的“main method”不是指
    main
    ,你可以忽略前面的三行)

    第二,看起来您已经完成了4、5、7和8。要处理1、2和3,您需要创建一个完全不同的方法(例如,
    getCounter1()
    getCounter2()
    toString()
    应该是它们自己的不同方法),并按照说明执行

    对于6,您给我们的代码有一个构造函数,它使用一个参数(
    public hellopinter(int x)
    )来执行1、2和3中的方法应该执行的操作。正如它所说,您需要一个不使用参数的构造函数(即
    public hellopinter(){…


    毕竟,你应该从
    main
    本身调用所有这些方法(正如9所要求的)。

    我认为“main method”指的是第1点中概述的方法。啊,该死的,现在我明白了,现在我觉得自己像个白痴,因为之前没有看到它。谢谢你阿米尔和克里斯在这方面的帮助。
      public static void main(String[] args) {
         MyClass.staticMethod();
      }
    
    public static void main(String args[])