簡體   English   中英

帶有控制類的 2 個文件的 Java 編程幫助

[英]Java Programming Help for 2 files with a controlling class

第一個 java 類是調用其他類的主要類。 我將復制這兩個文件的代碼。 我無法編譯這段代碼,我不知道為什么。

當我將程序放在一個文件中時,它運行良好,但講師希望將它放在兩個文件中。 有人可以向我解釋我在做什么,還是做錯了?

文件 1:

public class Wk2ToddFoughty {        
    public static void main(String[] args) {
        SalaryCalc FinalSalaryCalc = new SalaryCalc();            
        FinalSalaryCalc.SalaryCalc();               
    }
}

文件2:

import java.util.Scanner;

class SalaryCalc {                                  
      Scanner in = new Scanner(System.in);
      System.out.println("Enter your annual sales: $");          
      double sales = in.nextDouble();
      double salary = 35000.00;
      double commission = (sales * .015);
      double totalSalary = salary + sales;
      System.out.println("Your Salary + Commission is: $" + totalSalary );   
}

如果您遵守 Java 命名約定,可能會更容易理解 - 另請參閱內聯注釋

public class Wk2ToddFoughty {        
    public static void main(String[] args) {
        SalaryCalc myCalc = new SalaryCalc();  //  SalaryCalc - name of class
                                               // myCalc - name of object            
        myCalc.doCalc();                       // doCalc - name of method (missing from your class)           
    }
}

// edit this class to add missing method

public class SalaryCalc {                                  

      public void doCalc () {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter your annual sales: $");          
        double sales = in.nextDouble();
        double salary = 35000.00;
        double commission = (sales * .015);
        double totalSalary = salary + sales;
        System.out.println("Your Salary + Commission is: $" + totalSalary );   

    }
}

您的第二個文件沒有定義名為SalaryCalc的方法。 您還應該遵守標准的 Java 命名實踐,並將輸入/輸出邏輯保留在您的業務類之外。

import java.util.Scanner;

public class Wk2ToddFoughty {        
    public static void main(String[] args) {  
        Scanner in = new Scanner(System.in);
        System.out.println("Enter your annual sales: $");   
        SalaryCalc calc = new SalaryCalc(35000);
        double totalSalary = calc.calcSalary(in.nextDouble());    
        System.out.println("Your Salary + Commission is: $" + totalSalary);
    }
}

public class SalaryCalc {
    private double salary;

    public SalaryCalc(double salary) {
        this.salary = salary;
    }

    public void calcSalary(double sales) {
        double commission = sales * 0.015;
        return salary + sales + commission;
    } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM