Java 从return()打印2个值,而不添加
我在做一个数学程序的这个条目时遇到了一个小问题。 我的主机上有这个代码Java 从return()打印2个值,而不添加,java,return-value,Java,Return Value,我在做一个数学程序的这个条目时遇到了一个小问题。 我的主机上有这个代码 case 15: DescendingOrder dorder = new DescendingOrder(); System.out.println("Insert the first value: "); num10 = input.nextDouble(); System.out.println("Insert the second value: "); num11 = inp
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
要打印字符串而不是数字,请将decorder()更改为: 问候, 您可以对这些数字求和,有很多方法可以做到这一点,例如:
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));
您可以创建包含以下两个值的数组:
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]
不太清楚你在问什么。请提供一个示例来说明问题。您返回的是一个双精度值。您可以从函数中返回字符串,也可以在main上返回要格式化的有序集合function@Zephyr只是添加了更多的解释。不起作用。“字符串不能转换为双精度”。这就是我得到的错误。这似乎是一个很好的解决方案,但我在Println上有一个错误-“找不到符号”并指向Arrays您需要
导入java.util.Arrays代码>@lordvaderYep,就是这样。谢谢你的帮助。”如果你认为答案是你的问题,请考虑接受它。
Descending Order: [2.0, 1.0]