我有这个程序使用tokenizer,但我想知道如何使用子字符串。
我想要做的是让用户输入14个数字/字符。 我希望1输入1。
使用令牌器,用户必须像这样输入“1 A 2 B 3 C 4 D 5 E 6 F 7 G” 在每个数字/字符之间留出空格,以便令牌器工作。
我想用子串做的是让我的用户可以像“1A2B3C4D5E6F7G”那样输入
str = JOptionPane.showInputDialog(null, "Enter the work hours");
StringTokenizer st = new StringTokenizer(str);
while (x < 7) {
if (st.hasMoreTokens()) {
startday[x] = st.nextToken();
endday[x] = st.nextToken();
}
x++;
}
答案 0 :(得分:1)
在这种情况下,您可以简单地遍历内部char数组:
str = JOptionPane.showInputDialog(null, "Enter the work hours");
for (char entry:str.toCharArray()) {
processValue(entry);
}
或者,允许可选空格:
str = JOptionPane.showInputDialog(null, "Enter the work hours");
for (char entry:str.toCharArray()) {
if (entry != ' ') {
processValue(entry);
}
}
答案 1 :(得分:0)
当您使用令牌时,您可以使用正则表达式从结果字符串中修剪空格。
在我看来,使用substring
这样的东西效率不高。但如果你真的需要这样做,read here.