你如何得到一个string的最后一个字符?

我正在试图获得一个string的最后一个字符,但没有任何工作,除了charAt(strLength - 1) 。 我需要声明一个静态variables,并将我的数组转换为一个。 孤单的故事总之,它不适合我,出于某种原因:

 /** * Note that Java console applications need to be run through the java runtime * by running "java -jar JarFile.jar" in the command line. * Java console applications can not be previewed in the Compilr IDE, only applets can. */ public class isPalindrome { public static boolean status = true; static String word; static int strLength = word.length(); public void setword(String word) { isPalindrome.word = word; } public String[] getWord() { String[] word = new String[] {"Nothign", "super"}; return word; } /** * This is the main entry point for the application * @return */ public static void main(String[] args) { if (status == false ) { System.out.println("You didn't entered a Palindrome"); } else { System.out.println("You entered a Palindrome" + get.word); } } public static void isValidEmpNum(String[] array, String s) { if(s.charAt(0) == s.charAt(strLength - 1)) status = true; else status = false; return; } } 

代码:

 jcomeau@intrepid:/tmp$ cat Test.java public class Test { public static void main(String args[]) { String string = args[0]; System.out.println("last character: " + string.substring(string.length() - 1)); } } 

输出:

 jcomeau@intrepid:/tmp$ java Test abcdef last character: f 

这是一个使用String.charAt()的方法:

 String str = "India"; System.out.println("last char = " + str.charAt(str.length() - 1)); 

结果输出是a

其他答案包含了很多不必要的文本和代码。 以下是获取string最后一个字符的两种方法:

烧焦

 char lastChar = myString.charAt(myString.length() - 1); 

 String lastChar = myString.substring(myString.length() - 1); 

尝试这个:

 if (s.charAt(0) == s.charAt(s.length() - 1)) 

简单解决scheme是:

 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或空string参数!)

另一个解决scheme使用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是相反的,然后不应该被颠倒的部分被replace为子string。 ;)

 public char LastChar(String a){ return a.charAt(a.length() - 1); } 
 public String lastChars(String a) { if(a.length()>=1{ String str1 =a.substring(b.length()-1); } return str1; } 
 String aString = "This will return the letter t"; System.out.println(aString.charAt(aString.length() - 1)); 

输出应该是:

 t 

快乐的编码!