3 回答
TA贡献1874条经验 获得超12个赞
如果您确定 ID 始终以数字开头并且名称不以数字开头,则可以尝试此操作。
String text = "132567, Amelia, 123476, Charlie, 123516, Emily, 143456, George, 123466, Harry, 123457, Jack, 125456, Joshua, 132456, Lily, 123456, Oliver";
ArrayList id = new ArrayList(), name = new ArrayList();
String[] split = text.split(",");
for (String string : split) {
if (Character.isDigit(string.trim().charAt(0))) {
id.add(string.trim());
} else {
name.add(string.trim());
}
}
如果你想得到第 6 个元素,
System.out.println(id.get(5));
System.out.println(name.get(5));
输出将是,
123457
Jack
TA贡献1834条经验 获得超8个赞
因此,假设您有一个如下列表,您可以通过与正则表达式匹配来迭代和分离字符串和整数项:
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("1234", "sadf", "1234124", "asdfas");
List<String> idList = new ArrayList(); // you can make it String or Integer
List<String> nameList = new ArrayList();
for (String item : list) {
// here we distinguish digits only
if (item.matches("^[0-9]*$")) {
idList.add(item);
}else {
nameList.add(item);
}
}
idList.forEach(System.out::println);
System.out.println("");
nameList.forEach(System.out::println);
}
}
输出 :
1234
1234124
sadf
asdfas
TA贡献1839条经验 获得超15个赞
答案取决于您是否打算使用特定方法来解决此练习。
如果您应该使用数组,那么您需要学习如何判断特定项目的数组索引号是偶数还是奇数,以便您可以将相应的项目定向到其他数组之一。查看模数运算符。
如果您应该使用字符串,并且列表的格式与您编写的完全一样,那么您需要考虑可以使用哪些字符将列表首先拆分为对,然后将这些对拆分为单个项目,然后您将其添加到相应的列表中。
万一您应该使用“列表”,那么上面的数组方法将起作用,但基于问题的复杂性,我猜测列表稍后会出现。
添加回答
举报