【发布时间】:2019-02-28 05:51:23
【问题描述】:
我正在尝试创建一个代码,该代码采用任何字符串并将其向后传递给我,错过了每个第三个字符并包括最后一个字符。
EX:“123456789”应该返回“963”& “你好世界!”应该返回“!r lH”
import java.util.Scanner;
public class cypher {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String str = scnr.nextLine();
String reverse = "";
System.out.println(str.length());
for (int i = str.length() - 1; i >= 0; --i) {
reverse = reverse + str.charAt(i - 3);
}
System.out.println(reverse);
}
}
上面的代码是我目前所拥有的。但是,当我运行此代码时,我收到此错误消息:“线程“主”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:-1”
我不明白,因为字符串长度是 10 那么为什么它不能这样做呢?有人可以向我解释一下,并就如何解决这个问题给我一个建议吗?
【问题讨论】:
标签: java string reverse charat