gpt4 book ai didi

java - 如何打印带有用户占用的空格的字符串?

转载 作者:行者123 更新时间:2023-11-30 05:25:41 24 4
gpt4 key购买 nike

我正在尝试连接 2 个字符串。我已经在代码中声明了一个字符串,并将另一个字符串作为用户输入。我需要进行哪些更改才能打印这些连接的字符串。

以下是我尝试过的:

String s = "Java ";
Scanner sc = new Scanner(System.in);
System.out.println("Enter user string:");
String s2 = sc.nextLine(); //**user input taken:** is the best.

//**for concatenation**

s2=s+s2;
System.out.println(s2);

输出:

预期结果:

Java is the best.

实际结果:

Java is

最佳答案

您的代码使用 Java 1.8 从控制台运行得很好。

但是,在等号的左侧和右侧重复使用相同的指针可能会引入一些奇怪的行为。我专门谈论这一行:

s2=s+s2;

s2 本身已经是一个指针,它指向内存中分配的对象。并且您试图在访问该指针的同时重新分配它。话虽这么说,此类问题通常在现代 Java 中处理得很好,所以我不确定您正在运行哪个版本以及在哪个 IDE(如果有)下。

但是,请注意,您根本不需要这样做。您可以简单地打印您想要与 s2 连接的内容:

System.out.println("Java"+s2);

无需重新分配,也无需 s1

关于java - 如何打印带有用户占用的空格的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58676248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com