Как получить последний символ строки?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
Как получить последний символ строки?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
код:
public class Test {
public static void main(String args[]) {
String string = args[0];
System.out.println("last character: " +
string.substring(string.length() - 1));
}
}
Выход:
last character: f
Вот метод с использованием String.charAt()
:
String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
Результирующий вывод last char = a
.
Другие ответы содержат много ненужного текста и кода. Вот два способа получить последний символ строки:
char
char lastChar = myString.charAt(myString.length() - 1);
Строка
String lastChar = myString.substring(myString.length() - 1);
Другие ответы очень полны, и вы обязательно должны их использовать, если вы пытаетесь найти последний символ строки. Но если вы просто пытаетесь использовать условное (например, г. является последним символом «g»), вы также можете сделать следующее:
if (str.endsWith("g")) {
или строки
if (str.endsWith("bar")) {
Попробуйте это:
if (s.charAt(0) == s.charAt(s.length() - 1))
Простое решение:
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
char[] cs = str.toCharArray();
char first = cs[0];
cs[0] = cs[cs.length -1];
cs[cs.length -1] = first;
return new String(cs);
}
Использование массива символов (обратите внимание на неприятный пустой аргумент String или null String! )
Другое решение использует StringBuilder (который обычно используется для выполнения String Manupilation, поскольку сама String является неизменяемой.
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuilder sb = new StringBuilder(str);
char first = sb.charAt(0);
sb.setCharAt(0, sb.charAt(sb.length()-1));
sb.setCharAt(sb.length()-1, first);
return sb.toString();
}
Еще один подход (больше для инструкции, чем фактического использования) - это один:
public String frontBack(String str) {
if (str == null || str.length() < 2) {
return str;
}
StringBuilder sb = new StringBuilder(str);
String sub = sb.substring(1, sb.length() -1);
return sb.reverse().replace(1, sb.length() -1, sub).toString();
}
Здесь полная строка полностью изменена, и затем часть, которая не должна быть обращена, заменяется подстрокой. ;)
String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));
Вывод должен быть:
t
Удачного кодирования!
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}
public char LastChar(String a){
return a.charAt(a.length() - 1);
}