菜鸟提问:我想把JTextField中输入的数组读出,但是它是以字符串形式读出的,如何转化为数组呢?
例如:JTextField文本中显示的是"23,0,2,3,4,0,6,0,2",我用text.getText()读出,是String类型,我要转化为int i[],使数组i中的元素为i[9]={23,0,2,3,4,0,6,0,2}.
例如:JTextField文本中显示的是"23,0,2,3,4,0,6,0,2",我用text.getText()读出,是String类型,我要转化为int i[],使数组i中的元素为i[9]={23,0,2,3,4,0,6,0,2}.
import java.awt.BorderLayout;
import java.util.StringTokenizer;
public class Test extends JFrame
{
private int[] iData = new int[]{1,23,2,2,3,4,2,1,23,4,23};
private int[] iData2;
private JTextField tf;public Test()
{
JTextField tf = new JTextField(15);
getContentPane().add(tf,BorderLayout.SOUTH);// 显示数组
StringBuffer sb = new StringBuffer();
for (int i = 0; i < iData.length; i ++){
sb.append(String.valueOf(iData[i]));if (i != iData.length - 1)
sb.append(",");
}
tf.setText(sb.toString());// 转换为数组
StringTokenizer st = new StringTokenizer(tf.getText(), ",");
iData2 = new int[st.countTokens()];for (int i = 0; st.hasMoreTokens(); i ++) {
iData2[i] = Integer.parseInt(st.nextToken());
}// 打印出来
for (int i = 0; i < iData2.length; i ++)
System.out.println(iData2[i]);setSize(400,500);
setVisible(true);
}public static void main(String[] args)
{
Test app = new Test();app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}