为什么我会遇到这个问题?[关闭]

Why am I getting this issue? [closed]

提问人:Keenan Axolotl 提问时间:1/27/2023 最后编辑:Rand RandomKeenan Axolotl 更新时间:1/27/2023 访问量:56

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

10个月前关闭。

我正在尝试用 C# 制作一个简单的计算器,但我遇到了一些错误。

这是我的代码:

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

namespace calculator_c_sharp
{
    class Program
    {
        static void Main(string[] args)
        {

            //Calculator inputs

            Console.WriteLine("Enter the first integer.");
            int int1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Enter the second integer.");
            int int2 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Enter operation.");
            string oper = Console.ReadLine();

            //Calculator solving

            if (oper == "+") ;
            {
                int ans = int1 + int2;
                Console.WriteLine("Answer = " + ans);
            }

            else if (oper == "-") ;
            {
                int ans = int1 - int2;
                Console.WriteLine("Answer = " + ans);
            }

            else if (oper == "*");
            {
                int ans = int1 * int2;
                Console.WriteLine("Answer = " + ans);
            }

            else if (oper == "/") ;
            {
                int ans = int1 / int2;
                Console.WriteLine("Answer = " + ans);
            }

            else
            {
                Console.WriteLine("Error.");
            }

        }
    }

}

Visual Studio 说,每个 if 语句之后的底部 } 都有一个错误。

Image here

有人可以告诉我我在这里做错了什么吗?

C# 语法错误

评论

8赞 Damien_The_Unbeliever 1/27/2023
不要只是在任何地方插入分号。注意绿色波浪线试图告诉你什么。
0赞 mousetail 1/27/2023
条件后不需要分号,和 的内容被认为是一个语句,所以不应该介于两者之间。ifif{};
1赞 Karl Knechtel 1/27/2023
欢迎使用 Stack Overflow。用你自己的话来说,代码上写着,你认为这到底意味着什么?具体来说,您认为会做什么?你明白为什么这会导致一个问题,如果你想在那之后有一个代码块吗?if (oper == "+") ;;{}
0赞 Karl Knechtel 1/27/2023
另外,为了将来参考:请阅读 stackoverflow.com/help/minimal-reproducible-example。如果你有代码连续四次做类似的事情,并且每次都导致相同的问题,我们只需要看到一个。不要向我们显示您尝试修复的代码,而是向我们展示直接演示问题的代码。一个很好的示例还将使用简单的硬编码输入。
0赞 Amol Aher 1/27/2023
如果那样的话,请删除分号。

答:

0赞 root 1/27/2023 #1

之后没有分号或其他性质的关键字。if else

        if (oper == "+")
        {
            int ans = int1 + int2;
            Console.WriteLine("Answer = " + ans);
        }

        else if (oper == "-")
        {
            int ans = int1 - int2;
            Console.WriteLine("Answer = " + ans);
        }

        else if (oper == "*")
        {
            int ans = int1 * int2;
            Console.WriteLine("Answer = " + ans);
        }

        else if (oper == "/")
        {
            int ans = int1 / int2;
            Console.WriteLine("Answer = " + ans);
        }

        else
        {
            Console.WriteLine("Error.");
        }

评论

1赞 string.Empty 1/27/2023
除了do {/*code*/} while(/*condition*/);
0赞 root 1/27/2023
没错,该块以分号结尾。