2017-10-06 35 views
0

我仍然是一个初学者,我正在做简单的项目。我目前正在做的是一个简单的方法,要求用户输入数字1-10。如果他们不这样,它会一直询问,直到满足要求,然后返回值。它虽然没有,请帮助,谢谢。方法将不会返回到屏幕的值

namespace Practice 
{ 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      GetNumberFromUser(); 
      Console.Read(); 
     } 

     static int GetNumberFromUser() 
     { 
      int userNumber = 0; 

      while (userNumber < 1 || userNumber > 10) 
      { 
       Console.Write("Enter a number between 1 and 10: "); 
       string usersResponse = Console.ReadLine(); 
       userNumber = Convert.ToInt32(usersResponse); 
      } 

      return userNumber; 
     } 
    } 
} 
+0

您最好验证输入,因为如果输入不是整数,可能会导致异常。漂亮的小建议tho :) – Kevman

回答

1

你需要返回值从方法分配给一个变量这样

static void Main(string[] args) 
{ 
    int input = GetNumberFromUser(); 
    Console.Read(); 
} 

这之后您可以使用input变量根据您的需要

0

,因为你没有打印出整数。

为什么不使用int变量来存储方法GetNumberFromUser()的返回值并打印该值?

您声明方法GetNumberFromUser()的返回值是整数;如果你不想返回任何东西,只是

无效

的方法,一旦它被称为可仍执行更换

INT

static void Main(string[] args) 
{ 

     var res = GetNumberFromUser(); 
     Console.WriteLine(res); 

     Console.ReadKey(); 
} 
2

您需要在main()方法中打印GetNumberFromUser()方法的返回值。

static void Main(string[] args) 
    { 
     Console.WriteLine(GetNumberFromUser());   
     Console.Read(); 
    } 
1

试试这个。您必须打印控制台中返回的值。

static void Main(string[] args) 
    { 
     var i = GetNumberFromUser(); 
     Console.Write(i); 
     Console.Read(); 
    } 

    static int GetNumberFromUser() 
    { 
     int userNumber = 0; 

     while (userNumber < 1 || userNumber > 10) 
     { 
      Console.Write("Enter a number between 1 and 10: "); 
      string usersResponse = Console.ReadLine(); 
      userNumber = Convert.ToInt32(usersResponse); 
     } 

     return userNumber; 
    }