以数字顺序显示值

时间:2015-07-31 17:41:47

标签: java

假设我已经将用户用于4个值,并且我希望将这些值显示为从最小到最大。

是否有比做更简单的方法:

  • 如果a> b> c> d system.out.print a,b,c,d,
  • 如果> c> b> d,则系统.out.print ac,b,d等等

2 个答案:

答案 0 :(得分:1)

从技术上讲,如果您确实只有四个变量,那么您的示例可能 最快。然而,它并不是最简单的阅读。

在这种情况下,首先,我将确保这四个值不应该已经在数组中。如果它们的可比性使得它们的值可以比较并按顺序列出,它们可能更适合作为数组,或者是简单的值列表,或者是变量名称成为获取值的键的哈希映射。 / p>

也就是说,如果真实数据是这样的话:

fred = 9;
wilma = 3;
barney = 6;
betty = 4;

hashmap就像(假设您正在使用Java):

hash.put("fred", 9);
hash.put("wilma", 3);
hash.put("barney", 6);
hash.put("betty", 4);

但是,如果变量需要保留为单独的变量,那么我可能会暂时将它们转换为简单数组,使用Arrays.sort()对该数组进行排序,并打印出已排序的数组,可能使用StringUtils.join在它们之间添加逗号。

答案 1 :(得分:0)

Arrays类有针对此类问题的内置排序方法。

示例:

public static void main(String[] args) throws Exception {
    int[] values = new int[4];

    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter 4 values");
    for (int i = 0; i < 4; i++) {
        System.out.printf("Value %d: ", i + 1);
        values[i] = scanner.nextInt();
    }
    // Sort the array
    Arrays.sort(values);

    // Display the sorted array
    System.out.println(Arrays.toString(values));
}

结果:

Enter 4 values
Value 1: 57
Value 2: 43
Value 3: 2
Value 4: 23
[2, 23, 43, 57]