Tienes varias preguntas mezcladas. En términos generales, sí, str.charAt(str.length() - 1)suele ser el último carácter de la cadena; pero considere lo que sucede si str está vacío o es nulo.
Vance Maverick
Está funcionando bien. Pero la lógica de la comprobación de palidrome no suena correcta, por favor mencione también cuál es el error que está recibiendo.
lo devuelve como una cadena, no como un personaje, pero ya sabes cómo hacer esto último, y no tengo claro qué es lo que buscas.
jcomeau_ictx
8
¿Qué pasa si tu cadena está vacía?
Danish Khan
44
provocará una excepción en ese caso. ¿no te gustaría?
jcomeau_ictx
La pregunta solicita un carácter: esto devuelve una cadena larga de un carácter. Debe utilizar charAt()nosubstring()
Andrew
1
Andrew, si vuelves a mirar la pregunta original antes de que se editara, verás que el OP ya probó charAt () y no era lo que ella quería. Ese es uno de los problemas con un medio tipo wiki como SO, las preguntas son un objetivo en movimiento y, a veces, las respuestas pueden parecer tontas como resultado.
tenga mucho cuidado si desea hacer un cálculo en un número dentro de una cadena ya que los valores de caracteres son bastante diferentes a un número literal y sus resultados matemáticos no funcionarán.
JesseBoyd
32
Las otras respuestas contienen mucho texto y código innecesarios. Aquí hay dos formas de obtener el último carácter de una cadena:
Las otras respuestas son muy completas, y definitivamente debes usarlas si estás tratando de encontrar el último carácter de una cadena. Pero si solo está tratando de usar un condicional (por ejemplo, es el último carácter 'g'), también puede hacer lo siguiente:
No creo que este código se compile (solo necesita pequeñas correcciones), una vez que lo compiles, pruébalo en una cadena vacía para ver si funciona.
arrodilla el
2
Si bien esta respuesta es probablemente correcta y útil, se prefiere si incluye alguna explicación junto con ella para explicar cómo ayuda a resolver el problema. Esto se vuelve especialmente útil en el futuro, si hay un cambio (posiblemente no relacionado) que hace que deje de funcionar y los usuarios necesitan entender cómo funcionó una vez. ¡Gracias!
str.charAt(str.length() - 1)
suele ser el último carácter de la cadena; pero considere lo que sucede si str está vacío o es nulo.Respuestas:
El código:
La salida de
java Test abcdef
:fuente
charAt()
nosubstring()
Aquí hay un método que usa
String.charAt()
:El resultado resultante es
last char = a
.fuente
Las otras respuestas contienen mucho texto y código innecesarios. Aquí hay dos formas de obtener el último carácter de una cadena:
carbonizarse
Cuerda
fuente
Las otras respuestas son muy completas, y definitivamente debes usarlas si estás tratando de encontrar el último carácter de una cadena. Pero si solo está tratando de usar un condicional (por ejemplo, es el último carácter 'g'), también puede hacer lo siguiente:
o cadenas
fuente
Prueba esto:
fuente
La solución simple es:
Usando una matriz de caracteres (¡cuidado con el desagradable String vacío o el argumento String nulo!)
Otra solución usa StringBuilder (que generalmente se usa para realizar la manupilación de String ya que String es inmutable.
Otro enfoque (más para la instrucción que el uso real) es este:
Aquí la cadena completa se invierte y luego la parte que no se debe invertir se reemplaza con la subcadena. ;)
fuente
fuente
fuente
La salida debe ser:
¡Feliz codificación!
fuente
Aquí hay un método que uso para obtener el último xx de una cadena:
Luego úsalo así:
fuente
fuente