我有一个返回[2]数组的方法,返回的每个值都是双精度数:
public class additions;
{
public double [] Number ()
double [] z;
z = new double [2]
z[0]= 12+5;
z[1]= 58-8;
return z;// I would assumed values returned are stored in "Number";
}
然后在主课上,我有
additions calculus_1 = new additions();
System.out.print(Arrays.deepToString());//neither of them seems to be working
System.out.print([0].Stringform());
System.out.print(calculus_1.Number());
我无法打印答案,你能使用循环吗?我应该在哪里打印出主要课程中的答案?
我正在寻找动态,因为我将更改Z的计算。
答案 0 :(得分:2)
您的方法返回数组,因此要打印它,您需要:
System.out.print(Arrays.toString(calculus_1.Number()));
我不确定在将代码复制到问题时是否存在拼写错误,但是您的班级缺少几个大括号并且在错误的地方有一些分号。
这应该有效:
public class additions
{
public double [] Number ()
{
double [] z;
z = new double [2];
z[0]= 12+5;
z[1]= 58-8;
return z;
}
}
答案 1 :(得分:0)
由于您要存储双精度数,因此应使用:
String.valueOf(z[0]);
此外,您可以使用for循环,如下所示:
for(int i = 0; i < z.length; i++) {
System.out.println(String.valueOf(z[i]));
}
答案 2 :(得分:0)
这应该打印数组。但我不确定这是不是你的问题?
double[] d_array = new double[2];
d_array[0] = 1;
d_array[1] = 2;
String printArray = "";
for (double d : d_array) {
printArray = printArray + ", " + d;
}
System.out.println(printArray.substring(2));
答案 3 :(得分:0)
System.out.print(Arrays.deepToString());//neither of them seems to be working
System.out.print([0].Stringform());
这是死代码。它什么都不做。在第一行你要求类数组做某事?我不确定你想做什么。
同时更改可能与Java冲突的Number()函数的名称。还需要括号和分号:
public double [] arrayStuff() {
double [] z;
z = new double [2];
z[0]= 12+5;
z[1]= 58-8;
return z;
}
以下是我对你想要的假设:
additions calculus_1 = new additions();
double[] result = calculus_1.arrayStuff();
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}