2015-10-27 75 views
-2

我需要幫助。我需要提示用戶輸入介於0和9之間的索引。如果用戶在數組外部輸入了某些內容,那麼我需要使用「if」語句或「try catch」來告訴用戶「沒有這樣的分數存在」 。這是我迄今爲止所擁有的。使用陣列提示用戶輸入並顯示用戶輸出

public class Program 
{ 
    public static void Main(string[] args) 
    { 
    int[] GameScores = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

    Console.WriteLine("Please enter an index between 0 and 9"); 
    int gamescores = int.Parse(Console.ReadLine()); 

    for (int i = 0; i < GameScores.Length;i++) 
    { 
     GameScores[i] = int.Parse(Console.ReadLine()); 
    } 

    } // end Main 
+2

'如果用戶在數組外部輸入某些內容,那麼我需要使用「if」語句或「try catch」來告訴用戶「沒有這樣的分數存在」。你有沒有嘗試過這些? (「如果」是要走的路。)什麼阻止你? – 31eee384

回答

0

而不是使用For循環您直接使用包含檢查wheather所需的值出現在陣與否。 試試這個。

 int[] GameScores = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

     Console.WriteLine("Please enter an index between 0 and 9"); 
     int gamescores = int.Parse(Console.ReadLine()); 

     if (GameScores.Contains(gamescores)) 
     { 
      Console.WriteLine("score exists"); 
     } 
     else 
     { 
      Console.WriteLine("No such score exists"); 
     } 
0

試試這個

 int[] GameScores = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

     Console.WriteLine("Please enter an index between 0 and 9"); 
     int gamescores = int.Parse(Console.ReadLine()); 
     if (gamescores >= 0 && gamescores<=9) 
     { 

      for (int i = 0; i < GameScores.Length; i++) 
      { 
       GameScores[i] = int.Parse(Console.ReadLine()); 
      } 
     } 
     else 
     { 
      Console.WriteLine("Number not valid"); 
     } 
+0

謝謝大家。我非常想要這件事。 – Dell

+0

沒問題。如果其中一個答案幫助您,請將其標記爲已接受的答案。 – mrsargent

+0

好吧會的。我是新來的 – Dell

0

靈活的解決方案是:

public static void Main(string[] args) 
{ 
    int scoreSize = 10; 
    int[] gameScores = Enumerable.Range(1, scoreSize).ToArray(); 
    Console.WriteLine("Please enter an index between 0 and {0}", gameScores.Length - 1); 
    int selectedIndex = Convert.ToInt32(Console.ReadLine()); 
    if(selectedIndex >= 0 && selectedIndex < gameScores.Length) 
      for(int i = 0; i < gameScores.Length; i++) 
       gameScores[i] = Convert.ToInt32(Console.ReadLine()); 
    else 
     Console.WriteLine("No such score exists"); 
} 

這樣,如果你改變你的scoreSize20例如。

int scoreSize = 20; 

該程序仍將按預期工作,不需要進一步更改。

0

它很簡單 -

public static void Main(string[] args) 
    { 
     int[] GameScores = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 

     Console.WriteLine("Please enter an index between 0 and 9"); 
     int gamescores = int.Parse(Console.ReadLine()); 

     if (gamescores < 0 || gamescores > 9) 
     { 
      Console.WriteLine("No such score exists"); 
     } 
     else 
     { 
      for (int i = 0; i < GameScores.Length; i++) 
      { 
       GameScores[i] = int.Parse(Console.ReadLine()); 
      } 
     } 
    }`