我目前正在开发一个程序,但我无法让它按照预期的方式工作。我需要使用扫描仪输入三个整数,然后按升序输出数字。我在技术上让这个工作,但它没有遵循它必须遵循的结构。在我的主要方法中,我有声明和输入。然后我必须使用第二种方法进行排序。当我将排序放在这种新方法中时,我终究无法对数字进行排序。它编译,我运行它,输入数字并结束程序。如果没有第二种方法,它主要运行正确。当它在第二种方法之外运行时,我认为在我认为对数字进行排序的方式中也存在一些错误。
无论如何,这是我想出的代码。
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: ");
int num1 = input.nextInt();
int num2 = input.nextInt();
int num3 = input.nextInt();
}
/** Sort Numbers */
public static void displaySortedNumbers(double num1, double num2, double num3){
if ((num1 < num2) && (num2 < num3)){
System.out.println("The sorted numbers are " + num1 + " " + num2 + " " + num3);
}
if ((num1 < num2) && (num2 > num3)){
System.out.println("The sorted numbers are " + num1 + " " + num3 + " " + num2);
}
if ((num1 > num2) && (num2 > num3)){
System.out.println("The sorted numbers are " + num3 + " " + num2 + " " + num1);
}
if ((num1 > num2) && (num2 < num3)){
System.out.println("The sorted numbers are " + num2 + " " + num1 + " " + num3);
}
}
}
另一件事,环顾四周,我看到了一些关于我遇到的相同(或相似)问题的问题,但答复坚持使用数组。我根本不能为此使用数组。
提前致谢。
原文由 Austin Ray 发布,翻译遵循 CC BY-SA 4.0 许可协议
在您的主要方法中调用您的方法:
并了解更多信息。关于对 3 个数字进行排序,这是一篇旧帖子:
在 Java 中对 3 个值进行排序的最快方法
看看你的代码,我认为仅仅通过比较 2 次就可以对 3 个数字进行排序。