文字列に正のintが含まれているかどうかを判断しようとしています。私のコードは次のとおりです。
public void isInt(String str) throws NotIntException{
String integer=str.replaceAll("\\d","");
System.out.println(integer);
if (!integer.equals("")){
throw new NotIntException("Wrong data type-check fields where an integer"+
" should be.");
}//end if
if (integer.equals("-")){
System.out.println(integer);
throw new NotIntException("Error-Can't have a negative count.");
}//end if
}//end method
私はこれを文字列「-1」でテストしています。これは、replaceAll()の後、「-」になるはずです。これは両方のifステートメントを入力する必要があります。しかし、それは最初に入るだけです。念のため、==比較でも試してみましたが、どちらも機能しませんでした。私にとって奇妙なのは、2番目のifステートメントの条件を満たすか、その否定[つまり、!integer.equals( "-")]を満たそうとしても、プログラムがif...に入らないことです。
おかげで、通常、私の比較の問題は、基本的なものが欠けているだけですが、実際にはここには何も表示されません...