有鑑於 C# 沒內建類似 cin 般以空白或換行為分隔的輸入
(只有輸入單一字元或一整行字串..)
便自行寫了個function:
public static int inputint(){
int nbr = 0;
do{
nbr = Console.Read();
}
while(!(nbr >= '0' && nbr <= '9'));
nbr -= '0';
int n = Console.Read();
while(n >= '0' && n <= '9'){
nbr = nbr * 10 + n - '0';
n = Console.Read();
}
return nbr;
}
唉....真醜|||
不知有沒有更好的方法!?
3 則留言:
Try regular expressions :).
regular expression!?
Google 給我的連結:《Scanf in C# using Regex》。
話說 Java 到了 1.5(最新正式版本)才涵括 Scanner class 於 standard library 之內,用法可參考《競速》一文的 Java code。
Ruby 則用 regex 實作了一個 scanf standard library,format string 語法與 C 相仿。
張貼留言