【问题标题】:Basic Java String using first character and deleting spaces使用第一个字符和删除空格的基本 Java 字符串
【发布时间】:2017-10-26 21:31:18
【问题描述】:

该方法的目的是,例如,当要求用户输入“John Tom”时,用户将第一个字母“J”放入 string1 中,这样就完成了。然后找到空间的索引并将单词“Tom”或其他任何内容添加到 string2,然后将 string1 和 string2 添加在一起以获得用户名 = JTom 或任何其他没有任何空格的名称,尽管将空间的索引存储在 pos 中。所以加入 string1 和 string2 但也删除空格并将索引保​​存在变量 'pos' 中。如果有人对我有任何关于所需代码或可以改进的代码的建议。

public static void main(String[] args) {
    String user;//user variable
    System.out.println("Please enter a name: ");
    Scanner scan = new Scanner(System.in);  // Reading from System.in
    user = scan.nextLine();//user input for name
    create_name(user);//calls create_name method
}

public static void create_name(String user) {
   String String2;
   int pos = 0;
   pos = user.indexOf(' ');
   String string1 = String.valueOf(user.charAt(0));// 
   System.out.println(string1);
   System.out.println(pos);




 }
}

【问题讨论】:

    标签: java string join indexing space


    【解决方案1】:

    代替:

    System.out.println(string1);
    

    用途:

    System.out.println(string1 + user.substring(pos + 1));
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      String result = string1+ user.substring(pos + 1);
      System.out.println(result);
      

      更新: 如果在某些情况下用户会有一个或多个中间名,我会这样做:

      String result1 = string1 + user.substring(user.lastIndexOf(' ') + 1);
      System.out.println(result1);
      

      【讨论】:

      • 如果用户输入了 3 个名字,例如 John Tom Jones,怎么可能只使用 'JTom' 而不是 'JTom Jones'?
      【解决方案3】:

      这里的其他答案可能是最有效的方法,但您也可以将“John”与“Tom”分开到一个数组中,然后相应地裁剪它们:

      String name = "John Tom";
      String[] splitName = name.split(" "); 
      System.out.println(splitName[0].charAt(0) + splitName[1]);
      

      【讨论】:

        猜你喜欢
        • 2011-05-29
        • 1970-01-01
        • 1970-01-01
        • 2011-06-24
        • 2011-12-05
        • 1970-01-01
        • 2016-04-23
        • 1970-01-01
        相关资源
        最近更新 更多