簡體   English   中英

(C#)If-Else語句問題

[英](C#) If-Else Statement Issue

我正在創建一個程序,用於計算不同日期不同水果的價格。 我現在有兩種水果(香蕉和蘋果)。 當我鍵入“蘋果”時,星期幾及其數量僅給出蘋果的價格。 問題是當我輸入“ banana”時,工作日及其數量給我香蕉和蘋果的價格。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FruitShop
{
    class Program
    {
        static void Main(string[] args)
        {
            var fruit = Console.ReadLine();
            var weekday = Console.ReadLine();
            var quantuty = double.Parse(Console.ReadLine());

            if (fruit == "banana")
            {
                if (weekday != "saturday" && weekday != "sunday")
                    Console.WriteLine(quantuty * 2.50);

                 if (weekday == "saturday")
                {
                    Console.WriteLine(quantuty * 2.70);
                }
                 if (weekday == "sunday")
                {
                    Console.WriteLine(quantuty * 2.70);
                }
            }






           else if (fruit == "apple")
            {
                if (weekday != "saturday" && weekday != "sunday")
                    Console.WriteLine(quantuty * 1.20);
            }

            {
                 if (weekday == "saturday")
                {
                    Console.WriteLine(quantuty * 1.25);
                }
                 if (weekday == "sunday")
                {
                    Console.WriteLine(quantuty * 1.25);
                }

            }


        }
    }
}

我注意到您在使用花括號時犯了一個錯誤。 您可以在聲明其他內容時看到它。 對應於“ apple”的所有if語句應位於else-if括號內。 我不知道您是否通過我的描述得到它,但嘗試在代碼上查看它:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FruitShop
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Type a fruit name:");
            var fruit = Console.ReadLine();

            Console.WriteLine("Type a week's day:");
            var weekday = Console.ReadLine();

            Console.WriteLine("Type a quantity:");
            var quantuty = double.Parse(Console.ReadLine());

            if (fruit == "banana")
            {
                if (weekday != "saturday" && weekday != "sunday")
                    Console.WriteLine(quantuty * 2.50);

                 if (weekday == "saturday")
                {
                    Console.WriteLine(quantuty * 2.70);
                }
                 if (weekday == "sunday")
                {
                    Console.WriteLine(quantuty * 2.70);
                }
            }
            //Here. All the if's should be inside this main else-if
            else if (fruit == "apple")
            {
                if (weekday != "saturday" && weekday != "sunday")
                {
                    Console.WriteLine(quantuty * 1.20);
                }

                 if (weekday == "saturday")
                 {
                    Console.WriteLine(quantuty * 1.25);
                 }
                 if (weekday == "sunday")
                 {
                    Console.WriteLine(quantuty * 1.25);
                 }
            }


        }
    }
} 

希望我能解決您的問題

短一點

if (fruit == "banana")
{
     if (weekday == "saturday")
        Console.WriteLine(quantuty * 2.70);
     else if (weekday == "sunday")
        Console.WriteLine(quantuty * 2.70);
     else 
        Console.WriteLine(quantuty * 2.50);
}
else if (fruit == "apple")
{
     if (weekday == "saturday")
        Console.WriteLine(quantuty * 1.25);
     else if (weekday == "sunday")
        Console.WriteLine(quantuty * 1.25);
     else 
        Console.WriteLine(quantuty * 1.20);
}

暫無
暫無

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

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