Method Overloading Practice
In this practice problem, you are given a ShippingCalculator
class with a method named CalculateShippingCost. The method should be overloaded to support different scenarios of shipping costs based on the weight and destination.
Your task is to fill in the blanks (___
) appropriately to complete the calculations in the CalculateShippingCost
method for both local and international shipments.
index
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using 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
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}"); } }
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 4. Hoofdstuk 8
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.