我正在写一个java项目,在这个项目中我有graph类和其他表示图和点的类这对我的问题不重要)
我编写了两个函数来打印一个特定的图形名称,以及其他处理图形的基本函数。
我还写了一个函数:
private void listNodes(String graphName);
这个函数应该打印它的名字所给的图中的所有节点!
之后我们运行了使用 jUnit
,这些测试基本上比较测试预期输出(即提供给我们的)和实际输出(我编写的代码的输出)
junit总是告诉我函数的预期输出之间存在差异 private void listNodes(String graphName)
以及我的实际输出!
我看了两个输出,没有任何区别!!
但是在junits显示两个输出的窗口中,有一个选项 show white space characters
当我点击它时,它显示如下:(看第16行(这一行显示 private void listNodes(String graphName)
函数,左边是预期输出,右边是我的输出:()
有人知道这个红星形状的空间是什么,以及如何在代码中添加它吗??
这是我的函数(打印第16行):
私有void listnodes(string graphname){
Graph<WeightedNode> graph = graphs.get(graphName);
if(graph==null) return;
List<WeightedNode> listOfAllNodes=graph.getNodesList();
Collections.sort(listOfAllNodes);
output.print(graphName+" contains:");
for(int i=0;i<listOfAllNodes.size();i++) {
output.print("\s");
output.print(listOfAllNodes.get(i).getName());
}
output.print("\n");
}
1条答案
按热度按时间mfpqipee1#
我不确定您使用什么来显示输出,但我猜“星形空间”是它对ascii回车(cr)字符的呈现。
在windows中,一行应该以cr和nl结尾;即
"\r\n"
.您可以将print语句更改为打印该语句,但更好的方法是替换
print("\n")
用一个println()
. 为正在运行的机器的操作系统输出适当的行终止。