Java 如果包含特定字母,如何从后面开始检查字符串

Java 如果包含特定字母,如何从后面开始检查字符串,java,string,Java,String,如何在字符串中从后向前查找 String calc = "abcd+abcd.abcd+abcd-abcd.abcd" for (int i = calc.length(); i > 0; i--) { if (calc.charAt(i) == '.') { //Do something } } 几乎正确,我相信你想要- // for (int i = calc.length(); i > 0; i--) { for (int i = calc.le

如何在字符串中从后向前查找

String calc = "abcd+abcd.abcd+abcd-abcd.abcd"

for (int i = calc.length(); i > 0; i--) {
    if (calc.charAt(i) == '.') {
      //Do something
    }
}

几乎正确,我相信你想要-

// for (int i = calc.length(); i > 0; i--) {
for (int i = calc.length() - 1; i >= 0; i--) { // <-- 0 is the first character.
//for(int i=calc.length();i>0;i--){

对于(int i=计算长度()-1;i>=0;i--){//看看重载的
indexOf
方法。你刚才不是回答了你自己的问题吗?我很抱歉。似乎有一个索引越界错误
//养成使用预减量运算符
--i
而不是后减量运算符
i--
@SamuelO'Malley的习惯也很好,你能解释一下吗是这样吗?@DavidWallace pre decrement?是的,我也想解释为什么一个比另一个好。我自己看不出来。