Haaste: Metodin Ylikuormitus
Tässä harjoitustehtävässä sinulle annetaan ShippingCalculator
-luokka, jossa on metodi nimeltä CalculateShippingCost. Metodi tulee ylikuormittaa tukemaan erilaisia toimituskustannusten laskentaskenaarioita painon ja kohdemaan perusteella.
Tehtävänäsi on täyttää tyhjät kohdat (___
) asianmukaisesti, jotta CalculateShippingCost
-metodin laskelmat toimivat sekä kotimaisissa että kansainvälisissä lähetyksissä.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; public class ShippingCalculator { // Method to calculate shipping cost for local shipments public double CalculateShippingCost(double weight) { // Local shipments have a fixed rate of $5 per kilogram return weight * ___; } // Method to calculate shipping cost for international shipments // It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string' ___ { // International shipments have a base rate of $10 per kilogram // Additional $3 per kilogram for shipments to Canada // Additional $5 per kilogram for shipments to other countries double baseRate = ___; double additionalRate = destinationCountry.ToLower() == "canada" ? ___ : ___; return weight * (baseRate + additionalRate); } } class ConsoleApp { static void Main() { ShippingCalculator calculator = new ShippingCalculator(); // Test local shipment double localCost = calculator.CalculateShippingCost(2); Console.WriteLine($"Local Shipment Cost: ${localCost}"); // Test international shipment to Canada double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada"); Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}"); // Test international shipment to other countries double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany"); Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}"); } }
Sinun tulee ylikuormittaa CalculateShippingCost
-metodi. Uudella metodilla tulee siis olla sama nimi, mutta eri parametrit. Tarvittavat parametrit on annettu kommenteissa.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; public class ShippingCalculator { // Method to calculate shipping cost for local shipments public double CalculateShippingCost(double weight) { // Local shipments have a fixed rate of $5 per kilogram return weight * 5; } // Method to calculate shipping cost for international shipments // It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string' public double CalculateShippingCost(double weight, string destinationCountry) { // International shipments have a base rate of $10 per kilogram // Additional $3 per kilogram for shipments to Canada // Additional $5 per kilogram for shipments to other countries double baseRate = 10; double additionalRate = destinationCountry.ToLower() == "canada" ? 3 : 5; return weight * (baseRate + additionalRate); } } class ConsoleApp { static void Main() { ShippingCalculator calculator = new ShippingCalculator(); // Test local shipment double localCost = calculator.CalculateShippingCost(2); Console.WriteLine($"Local Shipment Cost: ${localCost}"); // Test international shipment to Canada double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada"); Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}"); // Test international shipment to other countries double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany"); Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}"); } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you provide the code for the ShippingCalculator class?
What are the specific blanks that need to be filled in the CalculateShippingCost method?
Could you give an example of how the overloaded methods should work?
Awesome!
Completion rate improved to 2.04
Haaste: Metodin Ylikuormitus
Pyyhkäise näyttääksesi valikon
Tässä harjoitustehtävässä sinulle annetaan ShippingCalculator
-luokka, jossa on metodi nimeltä CalculateShippingCost. Metodi tulee ylikuormittaa tukemaan erilaisia toimituskustannusten laskentaskenaarioita painon ja kohdemaan perusteella.
Tehtävänäsi on täyttää tyhjät kohdat (___
) asianmukaisesti, jotta CalculateShippingCost
-metodin laskelmat toimivat sekä kotimaisissa että kansainvälisissä lähetyksissä.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; public class ShippingCalculator { // Method to calculate shipping cost for local shipments public double CalculateShippingCost(double weight) { // Local shipments have a fixed rate of $5 per kilogram return weight * ___; } // Method to calculate shipping cost for international shipments // It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string' ___ { // International shipments have a base rate of $10 per kilogram // Additional $3 per kilogram for shipments to Canada // Additional $5 per kilogram for shipments to other countries double baseRate = ___; double additionalRate = destinationCountry.ToLower() == "canada" ? ___ : ___; return weight * (baseRate + additionalRate); } } class ConsoleApp { static void Main() { ShippingCalculator calculator = new ShippingCalculator(); // Test local shipment double localCost = calculator.CalculateShippingCost(2); Console.WriteLine($"Local Shipment Cost: ${localCost}"); // Test international shipment to Canada double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada"); Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}"); // Test international shipment to other countries double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany"); Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}"); } }
Sinun tulee ylikuormittaa CalculateShippingCost
-metodi. Uudella metodilla tulee siis olla sama nimi, mutta eri parametrit. Tarvittavat parametrit on annettu kommenteissa.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; public class ShippingCalculator { // Method to calculate shipping cost for local shipments public double CalculateShippingCost(double weight) { // Local shipments have a fixed rate of $5 per kilogram return weight * 5; } // Method to calculate shipping cost for international shipments // It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string' public double CalculateShippingCost(double weight, string destinationCountry) { // International shipments have a base rate of $10 per kilogram // Additional $3 per kilogram for shipments to Canada // Additional $5 per kilogram for shipments to other countries double baseRate = 10; double additionalRate = destinationCountry.ToLower() == "canada" ? 3 : 5; return weight * (baseRate + additionalRate); } } class ConsoleApp { static void Main() { ShippingCalculator calculator = new ShippingCalculator(); // Test local shipment double localCost = calculator.CalculateShippingCost(2); Console.WriteLine($"Local Shipment Cost: ${localCost}"); // Test international shipment to Canada double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada"); Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}"); // Test international shipment to other countries double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany"); Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}"); } }
Kiitos palautteestasi!