"Undefined for type" 和 "cannot make static reference"?

"Undefined for type" and "cannot make static reference"?

我正在编写一个程序,但我无法调用我编写的一些方法。错误如下:
- CommissionReportSystem 类型中的方法 reportMenu(String) 不适用于参数 ()

- 无法从 CommissionReportSystem

类型对非静态方法 getSalesData() 进行静态引用

-方法 computeTotalSales() 未定义类型 CommissionReportSystem

-CommissionReportSystem 类型中的方法 computeSalesCommission(double) 不适用于参数 ()

-CommissionReportSystem 类型中的方法 showAgentCommission(double) 不适用于参数 ()

我已经尝试了很多修复,但似乎没有任何问题,我不确定如何继续。我在下面包含了代码的相关部分。我将不胜感激有关如何解决这些问题的任何提示。谢谢!

      import java.io.*;
      import java.text.*;
      import java.util.*;

public class CommissionReportSystem {

    private static final String String = null;

    public static void main(String[] args) {
        getSalesData ();
        computeTotalSales ();
        computeSalesCommission ();
        showAgentCommission ();
        shutdown ();

        }
        String [] getSalesData (){
            String [] data = new String [2];

            String ticketsSold = "";
            String ticketPrice = "";
            String buffer = new String ();
            data[0] = buffer;
            data[1] = buffer;

            BufferedReader br = null;


            try {
                br = new BufferedReader (new InputStreamReader(System.in));
                System.out.print ("Enter tickets sold:");
                buffer = br.readLine ();
                ticketsSold = buffer;

                System.out.print ("Enter ticket price:");
                buffer = br.readLine ();
                ticketPrice = buffer;


            } catch (Exception e) {
                System.out.println ("Invalid entry");
            }

            data [0] = ticketsSold;
            data [1] = ticketPrice;
            return data;


            }
        public static double totalSales (String ticketsSold, String ticketPrice){

            int ticketsSoldNum = Integer.parseInt(ticketsSold);
            double ticketPriceNum = Double.parseDouble(ticketPrice);
            double totalSalesNum = ticketsSoldNum * ticketPriceNum;


            return totalSalesNum;}


        public static final double computeSalesCommission (double totalSalesNum){
            final double rate1 = 0.025;
            final double rate2 = 0.0375;
            final double rate3 = 0.0425;
            final double salesLimit1 = 2000;
            final double salesLimit2 = 4000;
            final double agentCommission= 0;

            if (totalSalesNum <= 2000) {
                agentCommission = rate1 * totalSalesNum;
            } 
            else if (totalSalesNum <= 4000){
                agentCommission = rate2 * totalSalesNum;
            }
            else (totalSalesNum > 4000){
                agentCommission = rate3 * totalSalesNum;
            }

            return agentCommission;

        }

        public static void showAgentCommission (double agentCommission){
            System.out.format ("Congratulation agent Cindy Smith, your current daily commission:" + agentCommission);
        }

        public static void shutdown (){
            System.out.format ("Thank you for your time! Have a great day!");
        }

        public static void handleInvalidData (){


        }
}

1) getSalesData() 是一个实例方法。如果要调用实例方法,请创建 class 的对象并使用该对象调用方法。否则你必须使方法静态。记住一件事,你不能访问静态方法中的实例变量。

2) 您的 class.

中没有方法 computeTotalSales()

3) computeSalesCommission() 需要双精度类型的参数。您已经毫无争议地调用了它。

4) 最后一条评论对 showAgentCommission() 也有效。