你如何得到一个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
快乐的编码!