cmd中的控制台应用程序出现Java图形故障,但eclipse中没有

cmd中的控制台应用程序出现Java图形故障,但eclipse中没有,java,eclipse,Java,Eclipse,我一直在为学校用Java开发一个货币转换器,但从cmd执行时它不能正常工作。我已经重新编译了好几次,但都不起作用。在使用eclipse控制台时,它可以正常工作,但在默认的windows cmd中则不行。我这样问是因为我找不到答案。我不知道这是否是我如何编码的,所以我会发布一个截图和代码中不起作用的部分。程序的其余部分显示良好 故障图像: 第一个问号应该是“1”,第二行应该是“2)将英镑兑换成美元”,在这两行之间应该是“或” String tmpWWCN = IO.input("Do you w

我一直在为学校用Java开发一个货币转换器,但从cmd执行时它不能正常工作。我已经重新编译了好几次,但都不起作用。在使用eclipse控制台时,它可以正常工作,但在默认的windows cmd中则不行。我这样问是因为我找不到答案。我不知道这是否是我如何编码的,所以我会发布一个截图和代码中不起作用的部分。程序的其余部分显示良好

故障图像:

第一个问号应该是“1”,第二行应该是“2)将英镑兑换成美元”,在这两行之间应该是“或”

String tmpWWCN = IO.input("Do you want to:\n1)Convert " + names.get(nameIndex).split("2")[0] + " to " + cn2.get(nameIndex) + "?\nOr 2) Convert " + cn2.get(nameIndex) + " to " + names.get(nameIndex).split("2")[0]);
很抱歉,我不能发布完整的代码。它贯穿于整个计划。(约120行)

更新: 在没有\n和\r\n的情况下尝试过(提供相同的效果),但现在它又给我带来了另一个图形故障。我将发布截图:

新故障:


完全相同的代码,但没有\n或\r\n

我在java中是真正的noob,但我在想,如果您将字符串按程序中应有的方式剪切成行,会怎么样

像这样:

String tmpWWCN = IO.input("Do you want to:\n" + "1)Convert " + names.get(nameIndex).split("2")[0] + " to " + cn2.get(nameIndex) + "?\n" + "Or 2) Convert " + cn2.get(nameIndex) + " to " + names.get(nameIndex).split("2")[0]);

您使用哪个类打印到控制台?称为IO的自定义类。只需获取第一个参数并将其传递给System.out.println。Input做同样的事情,但在打印问题后使用缓冲读取器获取输入。返回输入。请确定,您是否可以将“IO.input”替换为“System.out.println”并检查它是否提供相同的输出?使用System.out.println时出现相同的故障您使用的是哪种系统?Windows、Linux?当您使用“\n”时,可能发生了一些奇怪的事情。我知道不同的系统可以采取不同的行动,但我从未见过这种行为。请尝试改用“\r\n”。我不知道您更改了什么。看起来一模一样。哦,我明白了。不过,我认为这不会解决问题。即使没有换行符,故障仍然会发生。棘手的问题。你刚才说你想在字里行间用“或”。我注意到你在Or之后失踪了。是的,我刚刚注意到了。我认为这是因为我们学校的“技术支持”甚至不能设置java或eclipse。我要一个java编译器,他们给我一个java EE编译器。另外,他们给我做大学A级工作的笔记本电脑是I3。