Java 如何分离字符串并将其分成3部分(组合框、组合框、文本字段)

Java 如何分离字符串并将其分成3部分(组合框、组合框、文本字段),java,string,combobox,Java,String,Combobox,学号格式为XXXXXXXXX(xx=2位,XXX=3位,xxxxx=5位) 我将字符串声明为stuid=“11WAD03245” 我需要把stuid分为“11”和“WAD”以及“03245” 哪个11设置为Jcombobox年份,年份的型号是11到20 WAD设置为另一个JComboxProg,其模型为WAD,以此类推 03245设置为文本字段代码参考: 您可以使用这些变量分别设置JComboxes 您可以使用substring()函数获取字符串的所需部分 语法:子字符串(int-strartI

学号格式为XXXXXXXXX(xx=2位,XXX=3位,xxxxx=5位) 我将字符串声明为stuid=“11WAD03245” 我需要把stuid分为“11”和“WAD”以及“03245” 哪个11设置为Jcombobox年份,年份的型号是11到20 WAD设置为另一个JComboxProg,其模型为WAD,以此类推 03245设置为文本字段代码

参考:


您可以使用这些变量分别设置JComboxes

您可以使用
substring()
函数获取字符串的所需部分

语法:
子字符串(int-strartIndex,int-endIndex)

示例:

String str="hello world";
String word= str.substring(0,5);//returns->  hello

代码如下:

String stuid="11WAD03245";
String stuid1=stuid.substring(0, 2); //returns 11   
String stuid2=stuid.substring(2,5);  //returns WAD 
String stuid3=stuid.substring(5);  //returns 03245

使用String.substring(beginIndex,endIndex)返回包含值的新字符串,您可以从中解析不同类型的数据类型。

这里的所有答案都是正确的。我想更进一步,尽管这并不是你所要求的。在我看来,您存储id的格式非常脆弱,可以轻松改进以支持将来的更改,并且更易于使用

当您依赖索引时,您假定字段的长度是恒定的。如果这种情况发生变化,你就有麻烦了。一种更可靠的方法是使用分隔值列表,在其中保存一个字符串,其中字段由逗号或任何分隔符分隔

关于您案例的示例:“11,WAD,03245”

这给了你3个优势。您不需要处理索引算法,不受字段长度的限制,并且可以轻松地使用拆分方法分别获取每个字段。像这样:

    String s = "11,WAD,03245";
    String[] fields = s.split(","); 
    // fields[0] == "11", fields[1] == "WAD", fields[2] == "03245"
当然,您需要处理分隔符本身出现在其中一个字段中的情况,但通常可以通过选择适当的分隔符并使用输入验证来缓解这种情况


即使我可以依赖常量字段长度,我也会选择这种方法,因为它更易于操作。

使用
stuid.substring(begin,end)
任何关于如何将数据写入Jcombobox的方法?
公共void insertItemAt(E int index)
请参见:关于如何将其写入Jcombobox的任何信息?数据需要读取,请提供可以写入和读取的方法。TQ~有关于如何将其写入Jcombobox的信息吗?数据需要读取,请提供可以写入和读取的方法。TQ~有关于如何将其写入Jcombobox的信息吗?数据需要读取,请提供可以写入和读取的方法。TQ~
    String s = "11,WAD,03245";
    String[] fields = s.split(","); 
    // fields[0] == "11", fields[1] == "WAD", fields[2] == "03245"