适当的Word-Wrap功能

时间:2017-02-03 02:48:03

标签: java text

作为一个初学者项目,我正在制作一个基于文本的简单游戏,该游戏在我的IDE控制台中运行。我试图让消息出现在“框”中,这些消息本质上只是包含字的消息并被ASCII边框包围。

我成功地包装了文本并添加了边框,但是我的自动换行非常不方便。句子断裂和连续性是不方便的(从空格或标点符号开始判断新行。)

public static void msg(String core) {
    int lines = core.length()/100;
    for(int i = 0; i < lines; i++) {
        String part = core.substring((i*100), ((i+1)*100));
        System.out.println("|| " + part + " ||");
    }
    String leftOver = core.substring(lines*100);
    System.out.print("|| " + leftOver);
    for(int i = 0; i < (100 - leftOver.length()); i++) {
        System.out.print(" ");
    }
    System.out.println(" ||");
    msgBreaker();
}

使用Pacer-Gram健身测试脚本作为占位符,可以生成以下内容:

Result Message

我很乐意将词语切断并继续下一行,但我宁愿行不是以尴尬的空格或标点符号开始破坏垂直统一。换句话说,前三行很好,但最后三行需要调整。

我要求最简单或最有效的方法来处理这个问题。我能想到处理这个问题的所有方法都过于复杂(对于带有嵌套if语句的循环),并且可能会对游戏产生性能影响。

谢谢!

0 个答案:

没有答案