我希望"Module Code = "
和"Result = "
由标签分隔,但每当我运行下面的代码时,它只是输出
"Module Code = Biology\tResult = 40.0"
public String toString()
{
return "Module Code = " + moduleCode + "\t" + "Result = " + result;
}
答案 0 :(得分:2)
问题是您正在BlueJ窗口中查看生成的字符串的值。该窗口适用于调试目的,但它不会表现出与正确的输出设备相同的行为,特别是对于换行符,制表符等字符。这些字符仍会出现其转义序列,就像你一样在源代码中键入它们。
换句话说,您的toString()
方法很好,并且按预期工作。如果要查看其格式正确的结果,请不要使用BlueJ查看它们 - 将它们打印到其他位置。控制台是一个不错的选择:
System.out.println(module.toString());
答案 1 :(得分:1)
为什么“\ t”不会创建新行?
好吧,那是因为“\ t”是制表而非新行“\ n”
如果您需要换行,请尝试
E/AndroidRuntime: FATAL EXCEPTION: Thread-350
Process: com.example.alper.son, PID: 6634
java.lang.UnsatisfiedLinkError: Native method not found: com.example.alper.son.AClass.ConvGray:(JJ)I
at com.example.alper.son.AClass.ConvGray(Native Method)
at com.example.alper.son.MainActivity.onCameraFrame(MainActivity.java:66)
at org.opencv.android.CameraBridgeViewBase.deliverAndDrawFrame(CameraBridgeViewBase.java:387)
at org.opencv.android.JavaCameraView$CameraWorker.run(JavaCameraView.java:328)
at java.lang.Thread.run(Thread.java:841)