所以我正在做一个保龄球计算器作业,它需要一系列输入并计算分数。我的讲师提供的测试输入有许多测试用例,这些测试用例表示需要计算多少个字符串来计算分数。我遇到的问题是我无法将所有 3 个字符串(有 3 个测试用例)放入一个字符串中,并在不同的行上分开。
这就是输入:
3 --,--,--,--,--,--,--,--,--,--
X,X,X,X,X,X,X,X,X,XXX
X,13,X,81,5/,X,18,33,X,X36
我正在尝试将其格式化为这样:
--,--,--,--,--,--,--,--,--,--
X,X,X,X,X,X,X,X,X,XXX
X,13,X,81,5/,X,18,33,X,X36
但是,当我运行代码时,我得到以下输出:
--,--,--,--,--,--,--,--,--,-- X,X,X,X,X,X,X,X,X,XXX X,13,X,81,5/,X,18,33,X,X36
这是我到目前为止所得到的。
import java.io.*;
import java.util.*;
public class Bowling {
public static void main(String[] args) throws FileNotFoundException {
File inFile = new File("input.txt");
Scanner scanFile = new Scanner(inFile);
int tc = scanFile.nextInt();
String N = "";
for (int i=0; i < tc; i++)
N += scanFile.next();
System.out.println(N);
}
}
**更新:谢谢大家的回答,由于你们的回答,我学到了很多东西。在问这个问题的时候,我被这个问题束缚住了,没有好好思考。我再次查看了我的代码,意识到我所要做的就是在将字符串添加到变量之前添加这一行:
N += "\n";
再次感谢所有发表评论的人。
最佳答案
我建议使用 StringBuilder
如果您要连接很多String
。但在循环的每次迭代中,您可以附加换行符:
StringBuilder sb = new StringBuilder();
for (int i=0; i < tc; i++) {
sb.append(scanFile.next());
sb.append("\n");
}
System.out.println(sb);
关于java - 将多个字符串分配给单个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54565074/