给定一个非空字符串和一个 int N,返回从 char 0 开始的字符串,然后是字符串的第 N 个字符。因此,如果 N 为 3,则使用 char 0, 3, 6, ... 等等。N为1以上。
everyNth("Miracle", 2) ? "Mrce"
everyNth("abcdefg", 2) ? "aceg"
everyNth("abcdefg", 3) ? "adg"
Run Code Online (Sandbox Code Playgroud)
这段代码实际上并没有编译。但是在放置几个断点并在调试模式下运行后,它显示它将在该str.charAt()位置返回一个 ASCII 值“77”而不是一个字符串值。我不知道为什么。请帮忙。
我正在努力学习和理解如何解决这个问题背后的基本逻辑。
我知道您可以使用Stringbuilder并将每个值附加到缓冲区而不是打印值是获得答案的一种方法。所以我想避免使用任何预定义的类,这将在后台执行逻辑。
尝试:
我尝试将String类型char也转换为,但结果相同。
public static String everyNth(String str, int n){
String charAtPosition = "";
int x = 0, pos = 0;
String finalString = "";
String stringPosition = str.charAt(pos); <-- Getting ASCII value instead of string value for ex. …Run Code Online (Sandbox Code Playgroud)