java - 如何一次打印一个单词两个字母?- 爪哇
问题描述
输入应该有一个偶数长度。问题是在循环的第一次迭代中,它打印出 Sc,但随后打印出 ch 而不是 ho。我不知道怎么跳。
public static void twoAtATime(String a) { // School
int len = a.length();
if(len%2 == 0) {
for(int i = 0; i <a.length()/2; i++) {
System.out.print(a.substring(i,i+1) + a.substring(i+1,i+2));
System.out.println();
}
}
输出应该是这样的:
Sc
ho
ol
解决方案
要解决这个问题:
- 增加.
i
_2
- 迭代直到
i < len
。
你可以改进它:
- 通过调用
substring
两个字符一次。 println
与参数一起使用。- 递增
i
一次 -i += 2
。
改进后:
public static void twoAtATime(String s) {
int len = s.length();
if (len % 2 == 0) {
for (int i = 0; i < len; ) {
System.out.println(s.substring(i, i += 2));
}
}
}
推荐阅读
- laravel-5.7 - 如何使用 laravel 5.7.* 安装 laravel 解析?
- node.js - 从外部控制 node.js 进程
- teradata - Teradata 基于列使 FOLLOWING 动态化
- javascript - CRUD 表现 - 工作面试问题
- slack - slack 斜杠命令添加带有查询参数的请求 url
- sql - 多个 CTE where 子句引用 CTW 列
- xamarin - Xamarin Forms iOS 中的权限联系人
- dart - 用 async/await 替换 Future.then()
- python - 如何在python中制作带有长数据框的小型多箱图
- python - 如何使用 python gsmmodem 模块发送 unicode 字符?