2011-01-06 87 views
0

我发了一个号码,要求用C#输入2个数字,并以相应的消息作为响应。第二个数字如何起作用? 无论我为第二个数字输入什么,我都会收到消息“您的号码在0-10范围内”。C#控制流程

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

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string myInput; // declaring the type of the variables 
      int myInt; 

      string number1; 
      int number; 


      Console.WriteLine("enter a number"); 
      myInput = Console.ReadLine(); //muyInput is a string which is entry input 
      myInt = Int32.Parse(myInput); // myInt converts the string into an Integer 

      if (myInt > 0) 
       Console.WriteLine("Your number {0} is greater than zero.", myInt); 
      else if (myInt < 0) 
       Console.WriteLine("Your number {0} is less than zero.", myInt); 
      else 
       Console.WriteLine("Your number {0} is equal zero.", myInt); 

      Console.WriteLine("enter another number"); 
      number1 = Console.ReadLine(); 
      number = Int32.Parse(myInput); 

      if (number < 0 || number == 0) 
       Console.WriteLine("Your number {0} is less than zero or equal zero.", number); 
      else if (number > 0 && number <= 10) 
       Console.WriteLine("Your number {0} is in the range from 0 to 10.", number); 
      else 
       Console.WriteLine("Your number {0} is greater than 10.", number); 

      Console.WriteLine("enter another number"); 

     } 
    }  
} 

回答

7

number = Int32.Parse(myInput);应该读number = Int32.Parse(number1);

2
number = Int32.Parse(myInput); 

第二数目应该

number = Int32.Parse(number1); 
2

因为你解析相同的字符串两次

number1 = Console.ReadLine(); 
number = Int32.Parse(myInput); 

应该是

number1 = Console.ReadLine(); 
number = Int32.Parse(number1); 
+0

确实有人说“weltgeist”? ;) – 2011-01-06 21:41:36

0
number1 = Console.ReadLine(); 
number = Int32.Parse(myInput); 

在你的第二个测试你的评价第一输入,它应该是

Int32.Parse(number1); 
1

你在为第一个数字输入?在“输入另一个号码”后,您将number1分配给控制台的值,但您从不使用该值,但实际上使用的值是myInput