我在使用分隔符方面遇到了麻烦。
我想解析一个包含平方根符号的字符串。我只想解析数字,忽略平方根符号。为什么下面的代码不起作用?
double num = Double.parseDouble(display.getText()).useDelimiter("\u221A");
这样,如果我有display.getText()=√9.0,我的变量num = 9.0。因为我已经丢弃了平方根符号。
我是如何做到这一点的任何输入?谢谢你的帮助!
答案 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()
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);
}
}
}