Ich schreibe eine Methode, die die Provision berechnet, die ein Unternehmen seinem Lieferanten für ein bestimmtes Produkt gibt, jedoch nicht ausgeführt wird. Bitte helfen Sie. Hier sind die Richtlinien, denen ich folgen muss.Java-Methode nicht berechnet
Diese Funktion berechnet die Provision, die ein Unternehmen seinem Lieferanten für ein bestimmtes Produkt gibt. Die Kommission wird wie folgt berechnet (ich kann sicher davon ausgehen, Menge größer als 0 ist):
Wenn es eine Jahreslizenz ist, sind die Preise:
- 10%, wenn Verkauf zwischen $ 0 und $ 1.000 ist
- 15%, wenn Verkauf zwischen $ 1.001 und $ 10.000
- 20% ist, wenn Verkauf oben ist $ 10.000
wenn es eine immer-Lizenz (nicht ein jährliches eins) ist, sind die Preise:
- 10%, wenn Verkauf ist zwischen $ 0 und 10.000 $
- 15%, wenn Verkauf zwischen $ 10.001 und $ 50.000
- 20% ist, wenn Verkauf oben ist $ 50.000
ich versuchte, die obige Logik in schreiben Mit dem folgenden Code:
public static int commissionRate(boolean isAnnualLicense, int saleAmount) {
if (isAnnualLicense == true){
if (saleAmount <= 1000){
return commissionRate(true,10);
} else if (saleAmount >= 1001 && saleAmount <= 10000) {
return commissionRate(true,15);
} else if (saleAmount > 10001) {
return commissionRate(true,20);
} else {
if (isAnnualLicense == false) {
if (saleAmount >= 10000) {
return commissionRate(false,10);
} else if (saleAmount >= 100001 && saleAmount <= 50000) {
return commissionRate(false, 15);
} else if (saleAmount >= 50001) {
return commissionRate(false,20);
}
}
}
}
return 0;
}
das ist, was es soll Ausführung werden:
public void testCommission(){
Assert.assertEquals("commision for annual sales, 1,000 should be 10", 10, Assignment3.commissionRate(true,1000));
Assert.assertEquals("commision for annual sales, 1,001 should be 15", 15, Assignment3.commissionRate(true,1001));
Assert.assertEquals("commision for annual sales, 10,000 should be 15", 15, Assignment3.commissionRate(true,10000));
Assert.assertEquals("commision for annual sales, 10,001 should be 20", 20, Assignment3.commissionRate(true,10001));
Assert.assertEquals("commision for OneTime sales, 10,000 should be 10", 10, Assignment3.commissionRate(false,10000));
Assert.assertEquals("commision for OneTime sales, 10,001 should be 15", 15, Assignment3.commissionRate(false,10001));
Assert.assertEquals("commision for OneTime sales, 50,000 should be 15", 15, Assignment3.commissionRate(false,50000));
Assert.assertEquals("commision for OneTime sales, 50,001 should be 20", 20, Assignment3.commissionRate(false,50001));
}
@Grade(points=25)
@Test
Jede Hilfe wird geschätzt. Danke im Voraus.
Was nicht ausgeführt wird? Was meinst du mit "nicht ausführen"? – Li357
Ich fügte hinzu, was es ausführen soll. Tut mir leid, ich bin rostig mit meinem Java – rls1982