java - 反向剩菜
问题描述
我正在开发一个程序,该程序读取一串字符并根据数字反转某些字符。
(即“TELLER”和3给出,它应该返回“LETREL)我遇到
的问题是我需要反转剩余的额外字符
(即“HELLO”和3给出,当我返回“LEHLO”时需要它返回“LEHOL”)
这就是我目前正在尝试的方式
for (int i = 0; i < st.length();) {
if (i + x > st.length()-1){
break;
}
st = st.substring(0, i) + new String(new StringBuilder(st.substring(i, i + x)).reverse()) + st.substring(i + x);
i += x; }
解决方案
String input = "Hello";
StringBuilder buffer = new StringBuilder();
int x = 3;
for(int d = 0; d < Math.floor(input.length / x); d++){
buffer.append((new StringBuilder(input.substring(d * x, (d + 1) * x))).reverse());
}
if(input.length % x != 0) buffer.append((new StringBuilder(input.substring(input.length - input.length % x - 1))).reverse());
System.out.println("Result is " + buffer.toString());
推荐阅读
- list - 在 Scheme 中使用 map 编写矩阵的点积
- python - Pydub 找不到 ffprobe
- c# - 在 C# 的不同项目中使用命名空间
- sql - 如何选择一个表中共存的ID(多对多)
- java - 我想让 2d 随机数数组有错误:不兼容的类型:int 无法转换为 int[]
- c# - 并发问题不知道如何解决
- ruby-on-rails - Rails 问题:@blogs.count 显示在本地但不在 Heroku 上
- c# - 为什么要使用新的 Vector3?有什么区别?
- python - Python 更改列表中的值会无意中更改它们
- javascript - 我需要帮助来获取多维数组的总和