我承認並不是C++最有經驗的人,但對於讓這樣一個簡單的函數正常工作時遇到問題感到驚訝。我想要的一個功能是獲取用戶的輸入並確保它獲得一個整數(不會因意外輸入而崩潰),然後將該值返回給調用函數。它不應該接受任何特殊的字符或空格。從本質上講,我希望它就像相當於Java,我會在下面發佈:C + + getInt()函數(附加一個Java等效函數)
public static int getInt()
{
boolean isNum = false; //test variable
String str; //to hold input
do
{
str = keyboard.nextLine();
if (!(isNum = str.matches("\\d+")))
{
System.out.println("Enter a valid whole number, try again.");
}
} while(!isNum);
return Integer.parseInt(str);
}
你面對的具體問題是什麼? (也就是「我們不會爲你寫代碼」)。 – 2012-02-26 17:51:28
cin >> intValue;不適合你? – 2012-02-26 17:52:40
使用cin >> int;工作....只要輸入預期的輸入。如果我輸入文字字符,我會陷入無限循環,這正是我想要避免的。 – 2012-02-26 18:01:16