2017-04-22 24 views
-8

を有する支援が必要私は正直なところ、どのようにこの問題を解決するためのアイデアを持っていない私は下のソースコードを持っていただければ幸いです。は、私はクラスのため、このコードを実行可能にすることができていないと私はこれを取得する実行するときしかし促しエラーが発生していない理由を見つけることができません実行可能コード

import java.util.ArrayList; 
import java.util.Scanner; 
public class Main { 

private double fixedSalary; 
private double commission; 
private double salesTarget; 
private double Acc_Rate; 
private ArrayList<Double> annualSales; 
private ArrayList name; 

public static void main(String[] args){ 

    // salesperson will earn a fixed salary of $32,600 
    set.fixedSalary(32600); 
    // The current sales target for every salesperson is $120,000.00 
    set.SalesTarget(120000.00); 
    //The acceleration factor is 2.1 
    set.Acc_Rate(2.1); 
} 

public ArrayList<Double> getAnnualSales(){ 
    return annualSales; 
} 

public Main() { 
    this.name = new ArrayList(); 
    this.annualSales = new ArrayList<>(); 
} 

private float calculateCommission(double personSale) { 
    throw new UnsupportedOperationException("Not supported yet."); //To 
change body of generated methods, choose Tools | Templates. 
} 

機能がごset.fixedSalaryあなたは二重のように設定していけないので、整数にする必要があるので、それはあるかもしれないユーザー入力

class readData{ 
public void readData(){ 

    // Creates a scanner object for sales entry. 
    Scanner input = new Scanner(System.in); 
    // prompts user for name of sales person 
    System.out.println("Please enter First Sales Person name: "); 
    name = addinput.nextLine(); 

    // prompts user for name of sales person 
    System.out.println("Please enter 2nd Sales Person name: "); 
    name = addinput.nextLine(); 

    //Prompts user for sales 
    System.out.println("Please enter annual sales First Person: "); 
    annualSales = addinput.nextDouble(); 

    //Prompts user for sales 
    System.out.println("Please enter annual sales Second Person: "); 
    annualSales = addinput.nextDouble(); 

} 
} 

class calculateCommission { 
double commission = 0.00; 
double Acc_Rate; 

calculateCommission() { 

} 
public double calculateCommission(double annualSales, double fixedSalary, 
double salesTarget) { 
this.Acc_Rate = 0.045 * annualSales; 
    double earnings = fixedSalary; 
    // The current commission is 4.5 of total sales 
    if(annualSales < 0.8 * salesTarget) { 

     earnings = fixedSalary + commission; 
    } else if (annualSales <= salesTarget){ 
    //The current acc rate is 2.1 of total sales 
     commission = 0.045 * annualSales; 
     earnings = fixedSalary + commission; 
    } else if (annualSales > salesTarget){ 

     earnings = fixedSalary + Acc_Rate; 
    } 
    return earnings; 
} 

} // function get commision 

public double getCommission() { 
    return commission; 
} 

// function get total annual compensation 
public double getTotalCommissionCalc(){ 
    return fixedSalary + getCommission(); 
} 

// funtion set value for fixedSalary 
public void setfixedSalary(double fixedSalary){ 
    this.fixedSalary = fixedSalary; 
} 

// funtion set value for salesTarget 
public void setSalesTarget(double salesTarget){ 
    this.salesTarget = salesTarget; 
} 
// funtion set value for incentive rate 

public void setAcc_Rate(double Acc_Rate) { 
    this.Acc_Rate = Acc_Rate; 
} 
// Display a table of potential total annual compensation 

public void displayResult(){ 
    double annualSalesCalc; 
    double personSale; 

    for (int i = 0; i < name.size(); i++){ 
     String personName = (String) name.get(i); 
     personSale = annualSales.get(i); 

     System.out.println("Total Compensation of Sales Person " + 
personName + " is " + Math.round(calculateCommission(personSale))); 

     //Print column names 
     System.out.print("SalePerson\tTotal Sales\tTotal Compensation"); 

     annualSalesCalc = personSale * 1.50; 

     while(personSale <= annualSalesCalc){ 
      calculateCommission(personSale); 
      System.out.println((personName) + "\t\t" + 
Math.round((personSale)) + "\t\t" + 
Math.round(calculateCommission(personSale))); 

      personSale = personSale + 5000; 
     } 

     System.out.println(); // print blank line 


    } 

    if (annualSales.get(0) > annualSales.get(1)) { 

     System.out.println("Salesperson " + name.get(1) 
       + "'s additional amount of sales that he must " 
       + "achieve to match or exceed the higher of the salesperson 
" 
       + Math.round(annualSales.get(0)) + " is"); 

     System.out.print("$" + Math.round((annualSales.get(0) - 
annualSales.get(1)))); 

    } else if(annualSales.get(1) > annualSales.get(0)){ 
       System.out.println("Salesperson " + name.get(0) 
       + "'s additional amount of sales that he must " 
       + "achieve to match or exceed the higher of the salesperson 
" 
       + Math.round(annualSales.get(1)) + " is"); 

     System.out.print("$" + Math.round((annualSales.get(1) - 
annualSales.get(0)))); 

    } else{ 
     System.out.print("Both have same compensation"); 
    } 

} 
} 
+2

'calculateCommission'を修正しました。実行中ですが、あなたはその方法を書いていません。 –

+5

'calculateCommission'メソッドは、その正確な例外を明示的に*投げています。 – David

+0

calculateCommissionの倍数があり、そこにあったものの1つが削除されたことがわかりましたが、まだエラーが発生しています – ThrawnsDemise

答えて

0

をお読みください。 36000.0にする必要があるときに36000に設定します。

関連する問題

 関連する問題