Você tem várias perguntas juntas. Em geral, sim, str.charAt(str.length() - 1)geralmente é o último caractere da string; mas considere o que acontece se str estiver vazio ou nulo.
Vance Maverick
Está funcionando bem. Mas a lógica da verificação do palidrome não parece correta, mencione também qual é o erro que você está recebendo.
retorna como uma sequência, não como um personagem, mas você já sabe como fazer o último, e não sei ao certo o que você está procurando.
22411 j
8
E se sua string estiver vazia?
Danish Khan
4
Isso criará uma exceção nesse caso. você não gostaria?
precisa saber é o seguinte
A pergunta pede um caractere - isso retorna uma cadeia longa de um caractere. Deve usar charAt()nãosubstring()
Andrew
1
Andrew, se você olhar para a pergunta original antes de ela ser editada, verá que o OP já tentou charAt () e não era o que ela queria. Esse é um dos problemas de um meio semelhante ao wiki, como o SO, as perguntas são um alvo em movimento e, às vezes, as respostas podem parecer tolas como resultado.
tenha muito cuidado se desejar fazer um cálculo em um número dentro de uma string, pois os valores de caracteres são bem diferentes de um número literal e seus resultados matemáticos não funcionarão.
precisa saber é o seguinte
32
As outras respostas contêm muitos textos e códigos desnecessários. Aqui estão duas maneiras de obter o último caractere de uma String:
As outras respostas são muito completas e você deve definitivamente usá-las se estiver tentando encontrar o último caractere de uma string. Mas se você está apenas tentando usar um condicional (por exemplo, é o último caractere 'g'), você também pode fazer o seguinte:
Eu não acho que esse código será compilado (embora precise apenas de pequenas correções), depois que você o compilar, faça um teste em uma string vazia para ver se funciona.
Knells
2
Embora essa resposta seja provavelmente correta e útil, é preferível incluir algumas explicações para explicar como isso ajuda a resolver o problema. Isso se torna especialmente útil no futuro, se houver uma alteração (possivelmente não relacionada) que faça com que ele pare de funcionar e os usuários precisem entender como ela funcionou. Obrigado!
str.charAt(str.length() - 1)
geralmente é o último caractere da string; mas considere o que acontece se str estiver vazio ou nulo.Respostas:
O código:
A saída de
java Test abcdef
:fonte
charAt()
nãosubstring()
Aqui está um método usando
String.charAt()
:A saída resultante é
last char = a
.fonte
As outras respostas contêm muitos textos e códigos desnecessários. Aqui estão duas maneiras de obter o último caractere de uma String:
Caracteres
Corda
fonte
As outras respostas são muito completas e você deve definitivamente usá-las se estiver tentando encontrar o último caractere de uma string. Mas se você está apenas tentando usar um condicional (por exemplo, é o último caractere 'g'), você também pode fazer o seguinte:
ou, cordas
fonte
Tente o seguinte:
fonte
A solução simples é:
Usando uma matriz de caracteres (cuidado com o argumento String desagradável, vazio ou String nulo!)
Outra solução usa o StringBuilder (que geralmente é usado para a manipulação da String, pois a própria String é imutável.
Ainda outra abordagem (mais para instrução do que uso real) é esta:
Aqui a string completa é invertida e, em seguida, a parte que não deve ser invertida é substituída pela substring. ;)
fonte
fonte
fonte
A saída deve ser:
Feliz codificação!
fonte
Aqui está um método que eu uso para obter o último xx de uma string:
Em seguida, use-o assim:
fonte
fonte