comprobar si la matriz es sólo una letra

Najib Razak:

Quiero comprobar si la entrada es de sólo 1 letra o superior a 1, a continuación es mi código

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"); 
    }

trató de usar

== ""

pero no funciona .. :(, y consiguió este error ---> Índice 1 fuera de los límites de longitud 1

Thewhiterabbit:

los índices de matriz están basadas en cero y la comparación de cadenas se deben hacer uso de 'iguales'.

String subKwd = subKeyword[0];
if(subKwd.equals("")){
  System.out.println("Zero letters");
}

O también se puede comprobar el tamaño de la cadena:

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");
}

Si su basan en el hecho de que la palabra clave es de hecho el segundo 'campo' en los datos que necesita para agregar una comprobación adicional para ver si los datos de hecho contiene al menos 2 campos:

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");
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=332767&siteId=1
Recomendado
Clasificación