【发布时间】:2017-06-01 20:18:04
【问题描述】:
在进行 java 练习时遇到问题,我需要从文本文件中获取输入并将内容打印出来,但每 10 个字符插入一个新换行符,例如它应该读入: 我喜欢吃冰淇淋
作为
我喜欢 吃冰块 团队
这是我目前的解决方案
public class practice {
public static void main(String[] args) {
Scanner input = new Scanner (practice.class.getResourceAsStream("hello.txt"));
String currentLine = "";
String lineTen = "\n";
int charCount = 0;
while (input.hasNext()) {
currentLine = input.nextLine();
System.out.println(currentLine);
//charCount++;
for (int i = 0; i < currentLine.length(); i++) {
if (currentLine.charAt(i) != ' ' && currentLine.charAt(i) != '\n')
{
charCount++;
}
if (charCount > 20) {
currentLine = ("\n");
}
}
}
System.out.println(currentLine);
System.out.println(charCount);
}
}
任何建议将不胜感激。
【问题讨论】:
-
currentLine = ("\n");将整行设置为新行,因此任何超过 20 个字符的字符串都将打印为新行。同样在您的问题中,您说了 10 个字符,但您的代码计为 20 个字符。您也没有重置 charCount ,因此一旦达到 20 个字符,之后的每个字符都会触发 if 语句
标签: java text java.util.scanner