学生ID的格式为xxXXXxxxxx(xx = 2位,XXX = 3字符,xxxxx = 5位) 我声明一个字符串为stuid =“11WAD03245” 我需要将stuid分为“11”,“WAD”和“03245” 其中11个年份为Jcombobox,年份为11到20年 WAD设置为另一个Jcombobox prog,其模型为WAD,依此类推 03245设置为文本域代码
答案 0 :(得分:0)
参考:Java String
String stuid = "11WAD03245";
int studentId = Integer.parseint(stuid.substring(0,2));
String prog = stuid.substring(2,5);
int model = Integer.parseint(stuid.substring(5,stuid.length()));
您可以使用这些变量分别设置Jcomboboxes。
答案 1 :(得分:0)
您可以使用substring()
函数来获取字符串所需的部分。
语法: 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
答案 2 :(得分:0)
使用String.substring(beginIndex,endIndex)这将返回包含您的值的新字符串,并且您可以从中解析不同类型的数据类型。
答案 3 :(得分:0)
这里的所有答案都是正确的。我想更进一步,虽然这不完全是你问的。在我看来,您存储id的格式非常脆弱,可以轻松改进以支持将来的更改并更易于使用。
当您依赖索引时,您认为字段是常量长度。如果这种情况发生了变化 - 你就遇到了麻烦。更健壮的方法是使用分隔值列表,其中包含字符串,其中字段以逗号或任何分隔符分隔。
关于你案件的一个例子:“11,WAD,03245”
这为您提供了3个优势。您不需要处理索引算法,也不需要使用字段长度,您可以轻松使用split方法分别获取每个字段。像这样:
String s = "11,WAD,03245";
String[] fields = s.split(",");
// fields[0] == "11", fields[1] == "WAD", fields[2] == "03245"
当然,您需要处理分隔符本身出现在其中一个字段中的情况,但您通常可以通过选择正确的分隔符并使用输入验证来缓解这种情况。
我会选择这种方法,即使我只依赖于常量字段长度,因为它更容易操作。