如何在 "RahmanSajid" 之间创建一个 space 就像 "Mizanur Rahman Sajid"

How to make a space between "RahmanSajid" like "Mizanur Rahman Sajid"

package com.exploreas;

import java.util.Scanner;

public class UserInput {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String name1, name2, value;

        System.out.print("Enter Your First Name : ");
        name1 = input.nextLine();

        System.out.print("Enter Your Second Name : ");
        name2 = input.nextLine();

        value = name1 + name2;
        System.out.println("Welcome! = "+value);
    }
}

enter image description here

使用 value = name1 + " " + name2; 代替 value = name1 + name2;

您需要了解 + 运算符的工作原理。可以在字符串之间使用 + 运算符来组合它们。这是串联。尝试使用:

String firstString = "Foo";
String secondString = "Bar";
System.out.println(firstString + " " + secondString);

这将产生

Foo Bar

参考W3School中的Java Strings

首先尝试理解 value = name1 + name2 是什么意思? 这意味着,append/combine/concat 将其字符串化并存储到 value。所以无论你输入什么,它都会 append/combine/concat。如果您在名字后输入 space,它会在名字后添加一个 space。如果你不这样做,它就不会。因此,解决方案是您需要像这样手动添加 space

value = name1 + " " + name2;

并且有很多方法可用于连接字符串。我个人喜欢这种情况下的 format 方法。这是使用 format 方法

的示例
value = String.format("%s %s", name1, name2);

但如果您在添加之前 trim 您的名字和姓氏会更好。 trim 从字符串的开头和最后删除额外不需要的 space 。所以,我更喜欢

name1 = input.nextLine().trim();
name2 = input.nextLine().trim();
value = String.format("%s %s", name1, name2);

您也可以使用 concat 方法。请在 google 上搜索更多内容。