有没有办法将JTextField拆分为整数

时间:2019-04-26 11:58:02

标签: java swing parsing integer jtextfield

我目前正在制造一个计算器,用于计算Runge-Kutta方法来解决微分方程。 我希望用户在JTextField(DiffEqua)中输入其微分方程,然后将其从String转换为Integer输入,该输入可用于计算。即y + 5 * Math.sin(x)

问题是如何将String转换为一个变量,该变量将包含整数,x,y,sin,cos和tan。

我曾尝试将整个String转换为整数,但我认为必须以某种方式拆分或解析它。

double i = Integer.parseInt(DiffEqua.getText()); 

该变量将在这种情况下使用:

public void solve(double y, double h, int j, double i){      
xArray = new double[j];
yArray = new double[j];
for(int dex = 0; dex < j; dex++){
    F1 = h*f(x,y,i);
    F2 = h*f(x+h/2,y+F1/2,i);
    F3 = h*f(x+h/2,y+F2/2,i);
    F4 = h*f(x+h,y+F3,i);

    y = y + 1.0/6.0*(F1+2*F2+2*F3+F4);

    xArray[dex] = x;
    yArray[dex] = y;

    x = x + h;
  }   
}  
private double f(double x, double y, double i){
     return i; 
} 

2 个答案:

答案 0 :(得分:0)

我认为您可以尝试在每个逗号左右拆分JTextField的内容,例如:

String[] numbers = DiffEqua.getText().split(",");
double[] numbersAsDouble = new double[strings.length];

for(int i = 0; i < numbers.length; i++){
  numbersAsDouble[i] = Double.parseDouble(numbers[i].trim());
}

这需要用户在文本字段中用逗号分隔数字。

答案 1 :(得分:-1)

您可以从String类中使用很多方法,只需在https://docs.oracle.com/javase/9/docs/api/java/lang/String.html阅读有关String类的Oracle文档,也许您会在这里找到快乐。