在为计算机约会分配编写我的代码时,我们看到了四个对象数组的兼容性,我的代码打印得很奇怪.(Eclipse最初没有给我一个错误/警告).
码:
System.out.print("Fit between " + profile1.getTitle() + " and " + profile2.getTitle() + ": \n " +
+ '\t' + profile1.fitValue(profile2) + '\n');
Run Code Online (Sandbox Code Playgroud)
当我试图打印出来时,它们看起来像这样:
适合Elizabeth Bennett和Elizabeth Bennett:90.0
适合Elizabeth Bennett和Fitzwilliam Darcy:90.55
适合伊丽莎白贝内特和罗密欧蒙塔古:90.3
适合Elizabeth Bennett和Juliet Capulet:90.0
.................................................. .....等等.
在我的号码前面出现了一个"9".
我后来发现了这个问题:我的"\n"后面有两个连接运算符("+").所以我改变了我的代码,删除了无关的"+".
新代码:
System.out.print("Fit between " + profile1.getTitle() + " and " + profile2.getTitle() + ": \n " +
'\t' + profile1.fitValue(profile2) + '\n');
Run Code Online (Sandbox Code Playgroud)
新的正确运行:
适合Elizabeth Bennett和Elizabeth Bennett:0.0
适合Elizabeth Bennett和Fitzwilliam Darcy:0.55
适合Elizabeth Bennett和Romeo Montague:0.3
适合Elizabeth Bennett和Juliet Capulet:0.0
..............................................等等.
虽然我很幸运地发现了我的问题,但我想知道究竟是什么导致了这种情况发生.是否有某种日食速记导致"9"的出现?或者这是由于一些日食错误?我还是java的初学者,所以我无法得出可靠的结论.
我尝试稍微修改我的代码,看看Eclipse会如何反应(我删除了原来的"+ +"之间的空格):
System.out.print("Fit between …Run Code Online (Sandbox Code Playgroud)