私は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);
}
あなたが直面している*具体的な問題は何ですか? (別名「あなたのためのコードを書くだけではありません」)。 –
cin >> intValueについてはどうですか;あなたのために働かないのですか? –
cin >> intを使用しています。予想される入力が入力されている限り、動作します。私がテキスト文字を入力すると、私は無限ループに陥ります。これは私が避けようとしているものです。 –