如何获取字符串的最后一个字符?
public class Main
{
public static void main(String[] args)
{
String s ="test string";
//char lastChar = ???
}
}
你有几个问题混在一起了。一般来说,是的,str.charAt(str.length() - 1)通常是字符串中的最后一个字符;但是考虑一下如果str为空或为空时会发生什么。
工作正常。但是回文检查的逻辑听起来不正确,还请说明您遇到了什么错误。
如何从字符串中删除最后一个字符的可能副本?
代码:
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))
。
String aString ="This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));
号
输出应为:
t
号
编码愉快!
这里给出的例子与stackoverflow.com/a/13025371/773479完全相同。
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;
}
我不认为这段代码会编译(不过只需要小的修复),一旦你编译了它,就给它一个空字符串的测试,看看它是否工作。
虽然这个答案可能是正确的和有用的,但如果您在其中包含一些解释来解释它如何帮助解决问题,则是首选的。这在将来变得特别有用,如果有一个改变(可能不相关)导致它停止工作,用户需要了解它曾经是如何工作的。谢谢!
简单的解决方案是:
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();
}
在这里,整个字符串被反转,然后不应该反转的部分被子字符串替换。;)
数组中的某些内容:
s = 'some string'
s[-1] # last char
号
public char lastChar(String s) {
if (s =="" || s == null)
return ' ';
char lc = s.charAt(s.length() - 1);
return lc;
}
号