java 取字符串最后一个字符串_关于java:如何获取字符串的最后一个字符?

如何获取字符串的最后一个字符?

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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值