ナジブ・ラザク:
私は以下の私のコードは、入力のみ1文字または1以上であるかどうかを確認したいです
public ResponseEntity<String> moReceiver(@RequestParam("data")String data)
String[]subKeyword=data.split(" ");
String subKwd=subKeyword[1];
if(subKwd =="")
{
System.out.println("One letter");
}
else
{
System.out.println("More than One letter");
}
使用しようとしました
== ""
しかしdoesntの仕事.. :(、およびこのエラーを得た--->インデックス1は、範囲外の長さが1のために
TheWhiteRabbit:
配列のインデックスは、ゼロベースであり、文字列の比較は、「等しい」を使用して行われるべきです。
String subKwd = subKeyword[0];
if(subKwd.equals("")){
System.out.println("Zero letters");
}
それともあなたはまた、文字列のサイズを確認できます。
if(subKwd.length() == 0){
System.out.println("Zero letters");
} else if(subKwd.length() == 1){
System.out.println("One letter");
} else {
System.out.println("More letters");
}
あなたのキーワードが実際にあなたのデータで2番目の「フィールド」であるという事実に依存している場合は、あなたのデータが実際に少なくとも2つのフィールドが含まれているかどうかを確認するために、追加のチェックを追加する必要があります:
String[] subKeyword = data.split(" ");
if(subKeyword.length > 1){
String subKwd = subKeyword[1];
if(subKwd.length() == 0){
System.out.println("Zero letters");
} else if(subKwd.length() == 1){
System.out.println("One letter");
} else {
System.out.println("More letters");
}
} else {
System.out.println("No subkeyword present in data");
}