【问题标题】:How to concatenate two strings in java? [duplicate]如何在java中连接两个字符串? [复制]
【发布时间】:2014-05-05 15:13:17
【问题描述】:

所以我必须获取用户的名字和姓氏,但我必须获取人名的第一个字母并将其连接到姓氏以创建用户名(全部小写)

但我不知道如何添加它...我假设我必须使用字符串类中的一种方法,但我不确定是哪一种或如何做?

 package userinput.java;
 import java.util.Scanner;

 public class UserinputJava {


 public static void main(String[] args) 
  {
   Scanner userInput = new Scanner (System.in);

   String firstname;
   String lastname;
   String fullname;

   System.out.print("Enter first name: ");
   firstname = userInput.next();

   System.out.print("Enter last name: ");
   lastname = userInput.next();


   fullname = firstname + lastname;
   System.out.println ("You are " + fullname + "!");




  }

 }

【问题讨论】:

标签: java


【解决方案1】:
String fullname = firstname.charAt(0) + lastname;

更好的是,使用 StringBuilder。

编辑:实际上并没有更好,因为编译器会自动将上面的行转换为下面的行。上面的行更具可读性。

String fullname = new StringBuilder().append(firstname.charAt(0)).append(lastname).toString();

【讨论】:

  • 使用 StringBuilder 来追加一个字符会有点过头了——但编译器无论如何都会为你做这件事,所以第一个版本实际上是更好的 IMO。
  • 好点,我忘了。
  • 我在哪里放置字符串 fullname = firstname.charAt(0) + lastname;
  • @marie 请猜一猜 ;)
  • 哈哈我试过了!但它显示为一个错误我想这将是我列出其他字符串的地方
【解决方案2】:

您可以使用charAt 方法提取字符串的第一个(或任何其他)字符。注意charAt返回一个char原语,而不是String,所以使用StringBuilder更方便:

StringBuilder sb = new StringBuilder (lastname.length() + 1);
sb.append(firstname.charAt(0));
sb.append(lastname);
String userName = sb.toString().toLowerCase();

【讨论】:

    猜你喜欢
    • 2011-04-14
    • 2023-03-22
    • 2014-05-20
    • 2014-06-10
    • 2011-11-06
    • 2023-03-03
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多