为了账号安全,请及时绑定邮箱和手机立即绑定

我想打印除最后一个、最后两个、最后三个之外的所有字母

我想打印除最后一个、最后两个、最后三个之外的所有字母

牛魔王的故事 2023-08-04 19:17:10
我正在尝试打印这样的字符串:catcac但现在用我的代码,我只能得到tttttt代码public static String bingo(String s) {        int len = s.length();        for(int i = 1; i <=s.length(); i++) {            for(int k = 1; k <= s.length() - i+1; k++) {                System.out.print(s.substring(len-5));            }            System.out.println();        }        return s;    }
查看完整描述

4 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

您可以从长度迭代到 1 并打印每行中的子字符串:


public static void bingo(String s) {

    for (int i = s.length(); i > 0; i--) {

        System.out.println(s.substring(0, i));

    }

}

输出(对于猫)


cat

ca

c


查看完整回答
反对 回复 2023-08-04
?
慕森王

TA贡献1777条经验 获得超3个赞

你快明白了!


这就是可以用 来完成的方法while loop。


public static String bingo(String s) {


    int index = s.length();

    while (index != 0)

        System.out.println(s.substring(0, index--));


    return s;

}

这是如何完成的for loop


public static String bingo(String s) {

    for (int i = s.length(); i != 0; i--)

        System.out.println(s.substring(0, i));

    return s;

}


查看完整回答
反对 回复 2023-08-04
?
慕容森

TA贡献1853条经验 获得超18个赞

当然其他答案是正确的,但为什么不也以功能性的方式学习呢?


// you can use the tails everywhere you need (require Java 9+)

static Stream<String> tails(String xs) {

    return Stream.iterate(xs, x -> !x.isEmpty(), x -> x.substring(0, x.length() - 1));

}


// usage example

public static void main(String[] args) {

    tails("cat").forEach(System.out::println);

}

然而,这些参数是不言自明的(参见 javadoc iterate ):


.iterate(                                       // iterate

        xs,                                     // using `xs` as seed

        x -> !x.isEmpty(),                      // as long as the condition is true

        x -> x.substring(0, x.length() - 1)     // transform the current value

);


查看完整回答
反对 回复 2023-08-04
?
largeQ

TA贡献2039条经验 获得超7个赞

public static String bingo(String s) {

    int len = s.length();

    for(int i = 0; i <s.length(); i++) {

            System.out.println(s.substring(0,len-i));

    }

    return s;

}


查看完整回答
反对 回复 2023-08-04
  • 4 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信