2014-11-06 44 views
1

我要在1號線這樣輸入10個數字,然後告訴他們: 1,4,5,2,456,23,...等..有沒有辦法在不立即顯示號碼的情況下輸入號碼?

它不斷地寫他們,因爲我進入他們,到底什麼時候它應該顯示1行中的所有數字只顯示最後一行。

我知道隨機數字是可能的,但是當我自己輸入時,我不知道如何不顯示它們或將它們保存在1行,如果它甚至可能?

int a; 
int x; 
Console.WriteLine("a:"); 
a = int.Parse(Console.ReadLine()); 
x = 10; 
for (int i = 0; i < x; i++) 
{ 
    a = int.Parse(Console.ReadLine()); 
} 
Console.ReadKey(); 
+1

你能告訴你正在使用的代碼? – 2014-11-06 15:51:55

+0

你可以在shell提示符下運行時重定向輸入:'myApp.exe 2014-11-06 15:55:02

+0

@AlexeiLevenkov確定:)我是新來的,我會試着在將來更具體:) – Jane 2014-11-06 16:53:03

回答

1

我不知道如何把它們在年底全部寫在1線?

那麼你需要保存它們,因爲它們進入:

int num; 
var nums = new List<int>(); 

while (nums.Count < 10) 
{ 
    Console.Write("Enter: "); 
    if (int.TryParse(Console.ReadLine(), out num)) 
    { 
     nums.Add(num); 
     Console.Clear(); 
    } 
} 

Console.WriteLine(string.Join(", ", nums)); 
+0

我不知道爲什麼,但它不斷顯示我的錯誤,如果行..整個行我寫我自己,然後我複製我有不知道爲什麼:/ – Jane 2014-11-06 16:53:47

5

可以使用

Console.ReadKey(true) 

從控制檯讀取鍵不表現出來。

,你可以用它來讀取從控制檯字沒有表現出它

public static string ReadHiddenFromConsole() 
{ 
    var word = new StringBuilder(); 
    while (true) 
    { 
     var i = Console.ReadKey(true); 
     if (i.Key == ConsoleKey.Enter) 
     { 
      Console.WriteLine(); 
      break; 
     } 
     if (i.Key == ConsoleKey.Backspace) 
     { 
      if (word.Length > 0) 
      { 
       word.Remove(word.Length - 1, 1); 
       Console.Write("\b \b"); 
      } 
     } 
     else 
     { 
      word.Append(i.KeyChar); 
      Console.Write("*"); 
     } 
    } 
    return word.ToString(); 
} 
+1

+1按照問題回答問題。請注意,在使用時,您需要從字符構建字符串並在解析之前處理新行。 – 2014-11-06 15:57:55

2

您可以使用此代碼:

static void Main(string[] args) 
     { 
      int length = 10; 
      int[] myNumbers = new int[length]; 

      for (int i = 0; i < length; i++) 
      { 
       Console.Write("Enter number:"); 
       myNumbers[i] = Convert.ToInt32(Console.ReadLine()); 
       Console.Clear(); 
      } 

      Console.WriteLine("Your numbers: {0}", string.Join(",", myNumbers)); 
     } 
+0

嘿:) Convert.ToInt32究竟幹什麼? – Jane 2014-11-06 16:47:51

+0

命令「Console.ReadLine()」知道從用戶獲取一個字符串。 Convert.ToInt32接受該字符串,並將其轉換爲數字...它基本上類似於int.Parse ... 如果用戶輸入非數字,該代碼將導致錯誤... – 2014-11-06 17:49:23

+0

okok謝謝,爲什麼不能myNumbers [i] = Convert.ToInt32(Console.ReadLine());工作,如果我只把console.read而不是console.readline?我的意思是它的作品,但它允許我只輸入5個數字,然後帶回一組10個數字,我沒有輸入 – Jane 2014-11-06 18:00:14

相關問題