2011-03-23 22 views
0

下面的代碼 注:我不明白的答案,其他問題 代碼:我的程序運行,但如果你編譯它關閉時輸入被放置

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

namespace Input_Program 
{ 
    class Program 
    { 
     static void Main() 
     { 
      char Y = Console.ReadKey().KeyChar; 

      Console.WriteLine("Welcome to my bool program!"); 
      Console.WriteLine("Input a NON capital y or n when told to."); 

      if (Y == 'Y') 
      { 
       Console.WriteLine("Thank you,Please wait....."); 
       Console.WriteLine("You input Y"); 
      } 
     } 
    } 
} 

如果(你可以編譯ID不勝感激!)

+0

重複的http://stackoverflow.com/questions/5400485/error2use-of-unassigned-local-variable-y – 2011-03-23 23:29:24

+0

我糾正了你的縮進。使用'{}'按鈕在編輯模式下將塊標記爲代碼,然後向右移一級,這會觸發縮進。 – 2011-03-24 12:36:58

回答

0

您有2個選項

  • 運行在命令提示符下的exe。
  • 將Console.Readline()添加爲Main()函數的最後一行。這將導致你的程序在方法的最後一行等待,直到你回車。當主要功能是完成
  • 不具有圖形界面
0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Input_Program { 

class Program { 

static void Main() { 

    char Y = Console.ReadKey().KeyChar; 


    Console.WriteLine("Welcome to my bool program!"); 
    Console.WriteLine("Input a NON capital y or n when told to."); 




    if(Y == 'Y') 
    { 
     Console.WriteLine("Thank you,Please wait....."); 
     Console.WriteLine("You input Y"); 
    } 

    Console.Readline(); //This will wait for you tu press enter before finishing the program :P 
} 
}} 

程序都關閉,所以在這種情況下,你沒有時間去看打印什麼。您也可以在命令提示符下運行它。

+1

重新發布添加單行所需的全部(不正確)原始代碼? – 2011-03-23 23:37:41

1

只需添加一行到您現有的代碼將使它等待另一個按鍵退出之前,這將讓你看到你的輸出充其量:

if(Y == 'Y') 
{ 
    Console.WriteLine("Thank you,Please wait....."); 
    Console.WriteLine("You input Y"); 
} 

Console.ReadLine(); 

另一種方法是內運行代碼一個檢查Qexit或類似輸入的循環,然後退出循環並因此退出應用程序 - 否則只是繼續處理輸入。

舉例來說,你可以重新安排你的代碼看起來是這樣的:

Console.WriteLine("Input a NON capital y or n."); 

char input; 
while((input = Console.ReadKey().KeyChar) != 'n') 
{ 
    if(input == 'y') 
    { 
     Console.WriteLine("You entered y"); 
    } 
} 
Console.WriteLine("You entered 'n'"); 
Console.WriteLine("Press any key to exit..."); 
Console.ReadKey(); 

另一個答案建議通過命令行運行作爲一個選項;儘管這是可能的,但如果不必要的話,必須在IDE之外執行任何事情,甚至在IDE中額外執行任何其他任何東西,這很快就會變得乏味 - 但是,如果您不需要處理多於一個的控制檯應用程序一個命令或者可以處理批處理命令。

0

在您提示之前,您已獲得密鑰。

您要求非資本(小寫)'y'或'n',但與CAPITAL(大寫)'Y'比較。

您不等待在程序退出前查看輸出。正如Naraen所說:「在Main()的末尾添加:

Console.ReadLine(); 

+0

謝謝你提醒我! – unknown 2011-03-24 01:49:08

相關問題