1

对于你们大多数人来说,这可能是一个简单的问题,但答案在很大程度上让我回避了。我正在编写一个程序来对三个数字从最低到最高进行排序,并且在命令提示符下,输入必须全部在一行上。我的程序正在运行,但无论出于何种原因,我都无法将输入显示在一行上。相反,我得到类似的东西:

Please enter three numbers: 1

2

3

Sorted numbers are: 1, 2, 3

它应该显示在哪里

Please enter three numbers: 1 2 3

Sorted numbers are: 1, 2, 3

我的代码:

import java.util.Scanner;
public class Ch5PA1
{
public static void main(String[] args) {
// Declarations
Scanner input = new Scanner(System.in);

System.out.print("Enter three values: ");
double num1 = input.nextDouble();
double num2 = input.nextDouble();
double num3 = input.nextDouble();
displaySortedNumbers(num1, num2, num3);
}

/** Sort Numbers */
public static void displaySortedNumbers(double num1, double num2, double num3){
double highest = num1 > num2 && num1 > num3 ? num1 : num2 > num1 && num2 > num3 ? num2 : num3;
double lowest = num1 < num2 && num1 < num3 ? num1 : num2 < num1 && num2 < num3 ? num2 : num3;
double middle = num1 != highest && num1 != lowest ? num1 : num2 != highest && num2 != lowest ? num2 : num3;
System.out.println("The sorted numbers are " + lowest + " " + middle + " " + highest);
}
}
4

2 回答 2

1

您可以从用户那里获取输入,例如以逗号分隔或空格分隔的 3 个数字。并将字符串拆分为数组。

于 2013-10-24T22:40:51.923 回答
0

您无需更改代码。只需用空格分隔双打。(空格)

于 2014-08-01T21:46:03.460 回答