为什么赢了" \ t"创建一个标签?

时间:2016-11-29 18:17:52

标签: java string indentation bluej

我希望"Module Code = ""Result = "由标签分隔,但每当我运行下面的代码时,它只是输出

"Module Code = Biology\tResult = 40.0"

public String toString()
{
    return "Module Code = " + moduleCode + "\t" + "Result = " + result;

}

2 个答案:

答案 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)