首页 > 解决方案 > 如何一次打印一个单词两个字母?- 爪哇

问题描述

输入应该有一个偶数长度。问题是在循环的第一次迭代中,它打印出 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

标签: java

解决方案


要解决这个问题:

  1. 增加. i_2
  2. 迭代直到i < len

你可以改进它:

  1. 通过调用substring两个字符一次。
  2. println与参数一起使用。
  3. 递增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));
        }
    }
}

推荐阅读