Как получить последний символ строки?

Как получить последний символ строки?

public class Main
{
    public static void main(String[] args) 
    {
        String s = "test string";
        //char lastChar = ???
    }   
}

9 ответов


код:

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

использование массива символов (следите за неприятной пустой строкой или нулевым строковым аргументом!)

другое решение использует StringBuilder (который обычно используется для выполнения манупиляции строк, поскольку сама строка неизменяема.

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

здесь полная строка отменяется, а затем часть, которая не должна быть отменена, заменяется подстрокой. ;)


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

String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));

вывод должен быть:

t

удачи в кодировании!