-1

我有这个程序与标记器一起使用,但我想知道如何使用子字符串来做到这一点。

我想做的是让用户输入 14 个数字/字符。我想得到输入 1 by 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++;
    }
4

2 回答 2

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);
  }
}
于 2012-12-07T13:49:58.740 回答
0

当您使用标记时,您可以使用正则表达式从结果字符串中修剪空格。

在我看来,使用substring类似的东西不是很有效。但是,如果您真的需要这样做,请阅读此处。

于 2012-12-07T13:48:32.387 回答