I am creating a friendly ai whose name is Phil ;), but I need it to be able to do math. I did try, and I also tried +=, but it wont work. For example, if I did 1+1, instead of 2, it would give me 11. Here is my code:
namespace Game
{
public static class Program
{
//commands
public static string enteredCommand;
public static string commanddomath = "doMath";
//Math command stuff
public static string MathOperation;
public static string FirstOperatorNumber;
public static string SecondOperatorNumber;
public static string FinalAwnser;
static void Main()
{
if (enteredCommand == "doMath")
{
Console.WriteLine("Ok");
Console.WriteLine("What Operation should I do?");
MathOperation = Console.ReadLine();
if (MathOperation == "+")
{
Console.WriteLine("Addition! Easy! What is the first number? ex. 6");
FirstOperatorNumber = Console.ReadLine();
Console.WriteLine("Ok, what do you want the second number to be? ex. 8");
SecondOperatorNumber = Console.ReadLine();
FinalAwnser = FirstOperatorNumber + SecondOperatorNumber;
Console.WriteLine("Ok! The awnser is..." + FinalAwnser);
}
}
else
{
Console.WriteLine("That is not a command");
}
Console.ReadKey();
}
}
}
Any help is appreciated! Thanks
You are storing the user's input (FirstOperatorNumber
and SecondOperatorNumber
) as strings. The addition operator (+
), when applied to two strings, performs an operation called concatenation: it adds the characters from each string to form another string.
But you want addition, which is the result of the addition operator being used on two integers. So you must store the user's input as an integer by replacing 'string' with 'int' in the variable declaration:
public static int FirstOperatorNumber;
public static int SecondOperatorNumber;
The input will still be a string, so you need to convert it as well, like this:
FirstOperatorNumber = Int32.Parse(Console.ReadLine());