csharp高级练习题:计算器【难度:5级】:

创建一个简单的计算器,鉴于运营商的一个字符串(+ - * 和/)和数字由空格分开的返回该表达式的值

例:

计算器()评价( "2/2 + 3 * 4  -  6").#=> 7

Calculator.new.evaluate( "2/2 + 3 * 4  -  6")#=> 7

Calculator.evaluate( "2/2 + 3 * 4  -  6")// => 7

Calculator.evaluate "2/2 + 3 * 4  -  6" // => 7.0

记住操作的顺序!乘法和除法具有更高的优先级,并应进行左到右.加法和减法具有较低优先级,也应进行左到右.

编程目标:

using System;
public class Evaluator
{
    public double Evaluate(string expression)
    {
        return 0.0;
    }
}


测试样例:

using NUnit.Framework;
[TestFixture]
public class UnitTest
{
    Evaluator Evaluator { get; set; } = new Evaluator();
    [Test]
    [TestCase("1-1", ExpectedResult = 0)]
    [TestCase("1 - 1", ExpectedResult = 0)]
    [TestCase("1* 1", ExpectedResult = 1)]
    [TestCase("1 /1", ExpectedResult = 1)]
    public double TestEvaluation(string expression)
    {
        return Evaluator.Evaluate(expression);
    }
}


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/calculator

更多推荐

csharp高级练习题:计算器【难度:5级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练