如何从控制台读取连续的输入行以用于Add()方法?

问题描述:

以下是我的代码:如何从控制台读取连续的输入行以用于Add()方法?

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

namespace JeffOrrisSimpleCalculator._1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      Console.WriteLine("Simple Calculator"); 
      Console.WriteLine("\t1> Add"); 
      Console.WriteLine("\t2> Subtract"); 
      Console.WriteLine("\t3> Multiply"); 
      Console.WriteLine("\t4> Divide"); 
      Console.WriteLine("\t5> Quit"); 
      Console.WriteLine(); 
      Console.Write("Enter Selection: "); 

      string myValue = ValidateData(); 
      Console.WriteLine(myValue); 

      Console.Write("Enter number one: "); 
      Console.ReadLine(); 
      Console.Write("Enter number two: "); 
      Console.ReadLine(); 

      string mySum = Add(); 
      Console.WriteLine(mySum); 

      Console.Read(); 
     }//end main 

     private static string ValidateData() 
     { 


      string temp = Console.ReadLine(); 
      if ((temp == "1") || (temp == "2") || (temp == "3") || (temp == "4") ||    (temp == "5")) 
      { 
       //string Response = "Thank You"; 
       //return Response; 

       return null; 
      } 
      else 
      { 
       string Response = "Please enter a valid selection"; 
       return Response; 

      } 
     }//end ValidateData 



     private static string Add() 
     { 
      string numberOne = Console.ReadLine(); 
      double temp1 = Convert.ToDouble(numberOne); 

      string numberTwo = Console.ReadLine(); 
      double temp2 = Convert.ToDouble(numberTwo); 

      double total = temp1 + number2; 
      string myTotal = Convert.ToString(total); 
      return myTotal; 
     } 


     }//end class 
     }//end namespace 

*我只是关心add方法。我提示用户输入2个数字,我需要使用add方法添加。我相信我会过度思考这一点。我习惯于Windows窗体而不是控制台应用程序。我无法弄清楚如何从Console.ReadLine连续保存这些输入变量。

进出口提示用户输入两个数字

是的,你是提示用户 - 但此时你完全无视他们的意见。这:

Console.Write("Enter number one: "); 
Console.ReadLine(); 
Console.Write("Enter number two: "); 
Console.ReadLine(); 

也许应该更喜欢:

Console.Write("Enter number one: "); 
string firstLine = Console.ReadLine(); 
Console.Write("Enter number two: "); 
string secondLine = Console.ReadLine(); 

接下来需要解决如何在转换成数字。查看int.TryParse之类的步骤。

(您可能希望在要求“第二个”之前验证“第一个” - 考虑创建一个方法,该方法接受一个提示字符串并一直提示用户,直到他们实际输入一个数字 - 然后从方法返回)

+0

谢谢你......我整晚都被烧毁了。我没有意识到每次提示用户后都必须声明readline变量。我现在可以用我的其他方法完成。我无法赞扬你,因为我没有15的声望。 – 2013-04-09 14:13:32

+0

@JeffOrris:你不必每次都声明一个不同的变量 - 但方法的返回值是用户输入的行。你只需要使用,但是你想:) – 2013-04-09 14:14:15