使用分隔符来解析平方根方程

时间:2014-05-01 03:29:17

标签: java parsing double delimiter

我在使用分隔符方面遇到了麻烦。

我想解析一个包含平方根符号的字符串。我只想解析数字,忽略平方根符号。为什么下面的代码不起作用?

double num = Double.parseDouble(display.getText()).useDelimiter("\u221A");

这样,如果我有display.getText()=√9.0,我的变量num = 9.0。因为我已经丢弃了平方根符号。

我是如何做到这一点的任何输入?谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

你可以简单地用空字符串替换√

double num = Double.parseDouble(display.getText().replace("\u221A", ""));

答案 1 :(得分:0)

您可以使用String.replace方法并替换平方根。 replaceAll接受char序列,因此您可以使用它来替换平方根

的字符

String numberValue = input.replace(" \ u221A","");

答案 2 :(得分:0)

试试这个:我在命令行输入了它,它可以工作:java Square 3√9.03√500√64321√3.14并且它可以工作。 :D基本上我使用String类split()方法来解析命令行上的输入。您可以使用split()

在GUI中执行类似操作
    import java.util.*;

    public class Square { 


     static public void main(String[] args) { 

    ArrayList<String> aL = new ArrayList<>();

    StringBuilder sb = new StringBuilder();

    for(int i=0; i<args.length; i++) { 

        aL.add(args[i]);

    } 

    for(int j=0; j<aL.size(); j++) { 

        sb.append(aL.get(j));



    }

    String realS = sb.toString();

    String[] s1 = realS.split("\u221A");


    for(int e=0; e<s1.length; e++) { 
        double num = Double.parseDouble(s1[e]);
        System.out.println("num equals: " + num);
    }

}







    }