如何将字符串从一个JTextField转换为双阵列
问题描述:
我目前试图从两个JTextField中值读取,通过递增1,然后将值写入一个双阵列找到值的范围。不过我做的方式似乎并没有工作,我无法找到谷歌/ Internet上的解决方案。如何将字符串从一个JTextField转换为双阵列
这是到目前为止我的代码:
package textfieldtodouble;
import java.awt.*;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.Line2D;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
import javax.swing.*;
public class TextFieldToDouble {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
static JTextField maxValue1 = new JTextField(20);
static JTextField maxValue2 = new JTextField(20);
JButton btn1 = new JButton("To Double Array");
double x[];
double value1;
double value2;
void buildTheGUI() {
panel.add(maxValue1, BorderLayout.NORTH);
panel.add(btn1, BorderLayout.SOUTH);
panel.add(maxValue2, BorderLayout.SOUTH);
btn1.addActionListener(new toDouble());
frame.add(panel);
frame.setSize(300, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
TextFieldToDouble() {
buildTheGUI();
}
public static void main(String[] args) {
new TextFieldToDouble();
}
class toDouble implements ActionListener {
public void actionPerformed(ActionEvent event) {
value1 = Double.parseDouble(maxValue1.getText());
value2 = Double.parseDouble(maxValue2.getText());
for (int i = 0; i < value1; i++) {
System.out.println(i);
x[i] = value2 + i;
value2 ++;
}
}
}
}
在此先感谢。 :)
答
您还没有初始化数组x
:
value1 = Double.parseDouble(maxValue1.getText());
value2 = Double.parseDouble(maxValue2.getText());
int length = (int) value1;
x = new double[length];
for(int i = 0; i < length; i++)
{
System.out.println(i);
x[i] = value2 + i;
value2 ++;
}
答
你的意思是maxValue1最小值和maxValue2是范围最大价值? 如果是这样试试这个:
public void actionPerformed(ActionEvent event) {
value1 = Double.parseDouble(maxValue1.getText());
value2 = Double.parseDouble(maxValue2.getText());
int length = (int) value2 + 1 - (int) value1;
x = new double[length];
for(int i = 0; i < length; i++)
{
x[i] = value1 + i;
System.out.println(x[i]);
}
我很高兴你能不能找到谷歌互联网:)反正功课的解决方案,您的数组x未初始化。你知道如何在数组中使用'new'吗? – vikingsteve 2013-03-05 19:09:54
我有一个想法,但我需要知道我的数组的大小我不会? – sam 2013-03-05 19:22:47
是的,确切地说。否则,你可以使用'名单'具有动态调整大小。 –
vikingsteve
2013-03-06 08:00:55