Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中组合子字符串_Java_String_Substring - Fatal编程技术网

在Java中组合子字符串

在Java中组合子字符串,java,string,substring,Java,String,Substring,我有一个问题,从字符串中提取的字符必须组合在一起,以便根据用户输入生成唯一的传递码。我目前陷入编码困境,请帮助我:代码如下: import java.util.Scanner; class GetInputFromUser{ public static String a; public static Scanner in ; public static void main(String args[]) { String s; String y;

我有一个问题,从字符串中提取的字符必须组合在一起,以便根据用户输入生成唯一的传递码。我目前陷入编码困境,请帮助我:代码如下:

import java.util.Scanner;

class GetInputFromUser{

   public static String a;
   public static Scanner in ;

   public static void main(String args[]) {

      String s;
      String y;
      String p;

      in = new Scanner(System.in);



        System.out.println("LastName: ");
        s = in.nextLine();
        String trimmeds = s.substring(0, 3);
        System.out.println(trimmeds); 

         System.out.println("FirstName: ");
         y = in.nextLine();

        String trimmedy = y.substring(y.length() -3);
        System.out.println(trimmedy); 

        digit();
        if (!(a.length()==8)){
        System.out.println("error");
        digit();

      }

     }
        public static void digit(){
        System.out.println("8-digit ID Num.: ");
        a = in.nextLine();

        String trimmeda = a.substring(a.length() -3);
        System.out.println(trimmeda); 

   }

}
以下是程序的输出:

姓氏: 迪松

迪兹

名字: 克里斯汀

8位ID编号: 12345678

678

我需要帮助组合“Diz”、“ten”和“678”


最后一个输出应该是“Dizten678”。

我不理解你的问题,但也许,这段代码可以工作。 将函数public static void digit()替换为:

    public static void digit(){
            in = new Scanner(System.in);
            System.out.println("8-digit ID Num.: ");
            a = in.nextLine();
            String trimmeda = a.substring(a.length() -3);
            System.out.println(trimmeda);
            System.out.println(s+y+trimmeda); // this line shows the output you want

       }

这就是你想要的吗

组合两个子串可以这样做

import java.io.*;

public class Test{
   public static void main(String args[]){
      String str = new String("Welcome to Tutorialspoint.com");
      String str1 = str.substring(10);
      // returns: Tutorialspoint.com
      String str2 = str.substring(10, 15);
      // returns: Tuto
      String finalStr = str1 + str2;
      // returns: Tutorialspoint.comTuto
   }
}

请不要被标签垃圾邮件。删除不相关的语言标记。你到底坚持什么?也许你应该将
a
的验证移到
digit
方法中,因为
a
超出了该方法的范围。你可以在这个方法中使用某种循环,让用户重复他们的输入,直到他们提供了可以接受的东西。写一个示例输入和你想要获得的输出,告诉你哪里被卡住了!我编辑了我的问题并添加了当前程序的输出。请帮帮我。谢谢我编辑了我的问题并添加了当前程序的输出。请帮帮我。谢谢在这种情况下,
返回trimmeda
用于
digit()
并将返回类型设置为
String
,然后连接
String str=trimmedy+trimmeds+trimmeda。假设其余的代码正常工作,我编辑了我的问题并添加了当前程序的输出。请帮帮我。谢谢