проверить, является ли массив только одной буквой - PullRequest
1 голос
/ 06 мая 2019

Я хочу проверить, является ли ввод только 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"); 
    }

пытался использовать

== ""

но не работает .. :(, и получил эту ошибку ---> Индекс 1 за пределами длины 1

Ответы [ 2 ]

4 голосов
/ 06 мая 2019

Индексы массива начинаются с нуля, и сравнение строк должно выполняться с использованием 'equals'.

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 поля:

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");
}
1 голос
/ 06 мая 2019

Обычно вы не хотите использовать == со строками.Вам следует использовать метод equals.Также есть функция length (), которую вы можете использовать в строках.

public ResponseEntity<String> moReceiver(@RequestParam("data")String data)
if (data != null){
    if(data.length() == 1)
    {
        System.out.println("One letter"); 
    }
    else
    {
        System.out.println("More than One letter"); 
    }
}

Это должно работать для того, чего вы пытаетесь достичь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...