我有以下代码,我想捕获double的值并将它们放入数组中。作为初学者,我试图获得变量double的所有输出并使用该行将它们放入数组...
double[] x = new double[(int) doub];
虽然这段代码编译我只是得到像[D @ 116ab4e当我打印出x时的值]。我想这是因为我将double作为int而不是它的double。但是,如果我不这样做,代码不会编译。我只是被卡住了!所以任何建议都将不胜感激!
String[] shadingarray = str.split(";");
for (String str1: shadingarray){
Matcher search = Pattern.compile("(?!=\\d\\.\\d\\.)([\\d.]+)").matcher(str1);
while (search.find()){
double doub = Double.parseDouble(search.group(1));
double[] x = new double[(int) doub];
我还应该添加双倍等于的双打类型,它们如下所示:
3.0
6.4855612
4.0
0.6161728763
4.0
2.2012378517
4.0
任何帮助?
答案 0 :(得分:0)
你可能想要重做你的循环:
List<Double> list = new ArrayList<Double>()
while ( search.find() ) {
list.add( Double.parseDouble(search.group(1)) )
}
如果你想把它作为一个数组,那么
double x[] = list.toArray();
此外,如果您System.out.println( x )
,您将获得类似[D@116ab4e
的内容,其实质上意味着“数组双精度”([D
),后跟数组对象的哈希码。你可能想要
for ( i=0; i<x.length; i++ ) { System.out.println( x[ i ] ); }
干杯,