我正在执行的数学程序的此项有一个小问题。 我的主机上有此代码。
case 15:
DescendingOrder dorder = new DescendingOrder();
System.out.println("Insert the first value: ");
num10 = input.nextDouble();
System.out.println("Insert the second value: ");
num11 = input.nextDouble();
System.out.println("Descending Order: " + dorder.decorder(num10, num11));
break;
这是我在其他班级上使用的代码
public class DescendingOrder
{
public double decorder (double num10, double num11)
{
if (num10 > num11) {
return(double) num10 + num11;
} else {
return(double) num11 + num10;
}
}
}
问题是程序正在打印num10 + num11
而不是显示num10
和num11
。
有没有办法像这样打印结果
Descending order: num10 num11
例如我输入10和20。它应该返回:
Descending order: 20 10
相反,它显示:
Descending order: 30
答案 0 :(得分:1)
您要打印字符串而不是数字,因此将decorder()更改为此:
public String decorder (double num10, double num11){
if (num10 > num11){
return num10 + " " + num11;
}else{
return num11 + " " + num10;
}
}
答案 1 :(得分:1)
您可以创建一个包含两个值的数组:
public class DescendingOrder {
public double[] decorder (double num10, double num11){
if (num10 > num11){
return new double[] { num10, num11 };
}else{
return new double[] {num11, num10 };
}
}
}
然后调用Arrays.toString
并传递返回值:
System.out.println("Descending Order: " + Arrays.toString(dorder.decorder(num10, num11)));
它将显示类似以下内容的
:Descending Order: [2.0, 1.0]
答案 2 :(得分:0)
此致
您对数字求和,有很多方法可以做到这一点,例如:
public class DescendingOrder {
public String decorder (double num10, double num11){
if (num10 > num11){
return num10 + "," + num11;
}else{
return num11 + "," + num10;
}
}
}
或:
System.out.prinln(num10 > num11 ? (num10 + "," + num11) : (num11 + "," + num10));