请问StringTokenizer类的用法,以及下面代码的意思?

sharewarer 2003-10-17 04:43:08

value[i] 取出的是什莫值???


public static int[] dateToIntValue(String dateString) {
int[] value = new int[3];

StringTokenizer parser = new StringTokenizer(dateString, "/");
int i = 0;
while(parser.hasMoreTokens()) {
value[i] = Integer.parseInt(parser.nextToken());
i++;
}

return value;
}
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fft123 2003-10-17
  • 打赏
  • 举报
回复
StringTokenizer parser = new StringTokenizer(dateString, "/");
//定义一个StringTokenizer ,以"/"为分隔符分隔dateString
while(parser.hasMoreTokens()) {
value[i] = Integer.parseInt(parser.nextToken());
//parser的nextToken方法返回被分隔符分开的字符串

举个例子:dateString="123/234/55/66"
value[i]里存放的是就是按"/"分隔开的123,234,55,66
即:value[0]=123,value[1]=234............

jdk1.4里可以用String类的split方法完成同样的功能
LoveRose 2003-10-17
  • 打赏
  • 举报
回复
既然是日期如果时1899/10/22
那么value[0] 是 年 如1899
value[1]是月 10
value[2] 是 日 22
要看日期的格式了
武汉理工java实验2,大家课学习参考package sun; import java.awt.*; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.StringTokenizer; //导入 public class Test1 extends JFrame {//继承JFrame private final JPanel contentPane;//私有,其他不能享用 private final JTextPane numberField;//容器 private final JTextField sumyun;//创建对象 private final JTextField aveField; public static void main(final String[] args) {//主函数 EventQueue.invokeLater(new Runnable() {//使事件派发线程上的可运行对象排队。当可运行对象排在事件派发队列的队首时,就调用其run方法 public void run() { try { final Test1 frame = new Test1();//捕获异常 frame.setVisible(true); } catch (final Exception e) { e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因 } } }); } public Test1() { super("第二次实验:和与平均值"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使用 System exit 方法退出应用程序。仅在应用程序中使用。 setBounds(100, 100, 400, 300);//setBounds(x,y,width,height):x:组件在容器X轴上的起点;y:组件在容器Y轴上的起点;width:组件的长度;height:组件的高度。 contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(10, 10, 10, 10)); setContentPane(contentPane);//给窗体加个panel作为内容面板 contentPane.setLayout(null); numberField = new JTextPane(); numberField.addKeyListener(new KeyAdapter() {//键盘事件监听者 public void keyTyped(final KeyEvent e) { double sum = 0,avg = 0; switch(e.getKeyChar()) { case KeyEvent.VK_SPACE: //分隔符为空格 case KeyEvent.VK_COMMA: //分隔符为英文逗号 case KeyEvent.VK_ENTER: //分隔符为回车 final String str=numberField.getText(); final StringTokenizer analyze = new StringTokenizer(str," ,\n");//StringTokenizer 用来分割字符串,用,/n分割 final int allnum=analyze.countTokens(); for(int i =0;i0) { avg = sum/allnum; }else { avg = 0; } sumyun.setText(Double.toString(sum)); aveField.setText(Double.toString(avg)); } } }); /*numberField.setBounds(15, 15, 350, 100); contentPane.add(numberField); final JLabel label = new JLabel("和 值"); label.setBounds(60, 140, 70, 20); contentPane.add(label); final JLabel label_1 = new JLabel("平均值"); label_1.setBounds(60, 180, 70, 20); contentPane.add(label_1);*/ sumyun = new JTextField(); sumyun.setBounds(130, 140, 230, 25); contentPane.add(sumyun); sumyun.setColumns(10); aveField = new JTextField(); aveField.setBounds(130, 180, 230, 25); contentPane.add(aveField); aveField.setColumns(10); } }

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧