以下を試しましたが、Eclipseはこれに対してエラーをスローします。
while((s.charAt(j)== null)
文字が であるかどうかを確認する正しい方法は何nullですか?
以下を試しましたが、Eclipseはこれに対してエラーをスローします。
while((s.charAt(j)== null)
文字が であるかどうかを確認する正しい方法は何nullですか?
文字チェックを行う前に、String sがそうでないことを確認してください。nullによって返される文字String#charAtはプリミティブchar型であり、次のようになることはありませんnull。
if (s != null) {
...
文字を一度に 1 つずつ処理しようとしている場合はString、次を使用できます。
for (char c: s.toCharArray()) {
// do stuff with char c
}
( とは異なりC、NULLターミネータのチェックは Java では行われません。)
char プリミティブのデフォルト値は、その ascii 値として 0 です。char が null かどうかを確認できます。例:
char ch[] = new char[20]; //here the whole array will be initialized with '\u0000' i.e. 0
if((int)ch[0]==0){
System.out.println("char is null");
}
正しいチェック方法charは実際にここに記載されています。
それは述べています:
次のように変更します。
if(position[i][j] == 0)それぞれcharを と比較できますint。配列要素のデフォルト値は'\u0000'0 です。charそして、それはまさにあなたが空のセルを意味していたものだと思います.
が文字列で null でない場合sは、「スペース」を char と比較しようとしているに違いありません。あなたは「スペース」は文字ではなく、スペースは単なる だと思っていますnullが、実際にはスペースは文字です。したがって、 の代わりに(スペース) をnull使用して文字と比較します。