【问题标题】:How do seperate and print a string every certain amount of characters?如何每隔一定数量的字符分隔和打印一个字符串?
【发布时间】:2019-02-26 06:15:28
【问题描述】:

编写一个名为 wordWrap 的静态方法,该方法接受一个字符串作为参数,并将其打印到控制台。 除最后一行外,要求每行应有 7 个字符 可以少于 7 个字符。

创建一个字符串“测试 WordWrap 的 java 代码。”。在字符串上调用 wordWrap。

输出

测试一下
e java
代码 o
f 字
说唱。

这是我目前的代码。

public class WordWrap 
{
    public static void main(String[] args) 
    {
        String x = "Test the java codes of WordWrap.";
        wordwrap(x);
    }
    public static void wordwrap(String input1) 
{
    While(input1.length()>7)
    {
        System.out.println(input1.substring(0,8));
        input1 = input1.substring(8,input1.length());
    }
    System.out.println(input1.substring(0,input1.length()));
}
}

/*public static void wordwrap(String input1) 
{
While(input1 > 7);
System.out.println(input1.substring(0, 7));
System.out.println(input1.substring(8, 14));
System.out.println(input1.substring(15, 21));

}
}*/

【问题讨论】:

  • 您的代码有什么问题/问题?
  • 如果你应该将字符串拆分为 7 个字符块,为什么要将字符串拆分为 8 个字符块?
  • 你知道input1.substring(0,input1.length())input1 是一样的,对吧?从 0 到长度的子串返回整个字符串。 --- 而且,你知道,input1.substring(8,input1.length())input1.substring(8) 的加长版。
  • @m0skit0 我的猜测是混合大小写写While引起的编译错误。或者分块成 8 个字符块,而不是 7 个字符块。
  • While更改为while(Java区分大小写),然后将input1.substring(0,8)更改为input1.substring(0,7),最后将input1.substring(8,input1.length());更改为input1.substring(7,input1.length());

标签: java string loops substring


【解决方案1】:

我会遍历字符串的长度并打印它的子字符串:

String str = "Some string from user input";
for (int i = 0; i < str.length(); i += 7) {
    System.out.println(str.substring(i, Math.min(str.length(), i + 7));
}

【讨论】:

  • 指导 OP 修复/改进问题中的代码可能是一项更有用的工作,特别是因为 99% 的代码都在那里。
猜你喜欢
  • 2023-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2020-02-01
相关资源
最近更新 更多