【问题标题】:Using string to calculate two number from another class [closed]使用字符串计算另一个类的两个数字[关闭]
【发布时间】:2021-03-23 17:23:02
【问题描述】:

我必须使用方法 WriteNumber 创建一个类 Calculator,它是一个字符串,可以计算两个数字。我真的不知道该怎么做我试图通过创建一个类来转换前两个数字但没有结果。任何帮助都会很好。

class Program
{
    static void Main(string[] args)
    {
        string n = Calculator.WriteNumber(5+10);
        Console.WriteLine(n);
        
        Console.ReadLine();
    }
}

【问题讨论】:

  • 也许你应该展示一下 WriteNumber 方法?
  • 这能回答你的问题吗? String calculator
  • 您的意思是评估作为字符串给出的表达式(例如用户输入)吗? string n = Calculator.WriteNumber("5+10");。如果是,您必须指定您希望能够执行的计算类型。大概是4个基本操作+ - * /?具有运算符优先级(即,* /+ - 之前)?
  • 公共静态字符串 WriteNumber(int number1 = 0, int number2 = 0)
  • public static string WriteNumber(int number1, int number2) {return number1+number2;} 帮助我将int number1 更改为int number1 = 0 与两个相同。并在下面的答案的帮助下添加.ToString

标签: c#


【解决方案1】:

您的函数不会在您的代码中进行计算。

你的 main 应该是这样的:

class Program
{
    static void Main(string[] args)
    {
        string n = Calculator.WriteNumber(5, 10);
        Console.WriteLine(n);
        
        Console.ReadLine();
    }
}

计算器类可能如下所示:

static class Calculator
{
    static string WriteNumber(int num1, int num2)
    {
        return (num1 + num2).ToString();
    }
}

虽然我会建议您将函数名称更改为更直观的名称。

【讨论】:

  • 谢谢,我不知道您可以使用 .ToString 进行这样的转换,这对我有很大帮助。
【解决方案2】:
using System;
                    
    class Program
    {
        static void Main(string[] args)
        {
            var n = Calculator(5,10);
            Console.WriteLine(n.ToString());
            
            Console.ReadLine();
        }
        
        static int Calculator (int n1, int n2)
        {
          return n1 + n2;
        }    
    }

【讨论】:

  • 不用担心 :) @Stefan Stojanović
  • @Stefan Stojanović ,在您学习的同时,我建议您应该学习处理问题的正确方法。例如,计算器应该 NEVER 返回一个字符串,这违反了所有逻辑。计算器,如果它是通用的,应该返回decimal,或者如果它的函数将两个整数相加,应该返回一个integer,然后如果你想打印它或者在其他地方使用它只是那个您应该将其转换为另一种类型(在您的情况下为ToString()
  • 是的,我知道,但这是我学校的作业。他们给我的时候我也有点困惑。
猜你喜欢
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2012-12-16
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多