2017-10-06 33 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; 
    }