【问题标题】:Java scanner output array values and output after sort method [duplicate]Java扫描仪输出数组值和排序方法后的输出[重复]
【发布时间】:2016-04-12 01:13:15
【问题描述】:

我还有其他代码可以输出最小值、最大值和平均值等值。我看不到如何在用户通过扫描仪输入的排序数组中输出值。

import java.util.Scanner;

public class Arrayassignment {

    public static void main(String[] args) {
        Scanner keyboard=new Scanner(System.in);
        System.out.println("Enter an integer for array size.");
        int number= keyboard.nextInt();
        int array[]=new int[number];
        System.out.println("Array size " + number + " initiated.\n");
        System.out.println("Now enter the array integers.");
        for (int index = 0; index < number; index++)
        {  
            array[index]=keyboard.nextInt();
        }
        keyboard.close();

        System.out.println ( "Sorting " );
          sort(array);
    }

    public static void sort(int[] arg) {
        int arrange;
        for (int i = 0; i < arg.length - 1; i++)
            for (int j = i + 1; j < arg.length; j++) {
                if (arg[i] > arg[j]) {
                    arrange = arg[i];
                    arg[i] = arg[j];
                    arg[j] = arrange;
                    System.out.println( arrange);
                }
            }
        }        
    }
}

【问题讨论】:

  • 我认为你应该在调用 sort 而不是在 sort 之后打印数组。我的意思是你应该使用for 循环在sort(array) 之后打印排序数组@

标签: java arrays sorting


【解决方案1】:

这个问题有点不清楚。我想你想要的是输出和打印排序后的数组。

import java.util.Scanner;
import java.util.Arrays;

public class Arrayassignment {

    public static void main(String[] args) {
        Scanner keyboard=new Scanner(System.in);
        System.out.println("Enter an intiger for array size.");
        int number= keyboard.nextInt();
        int array[]=new int[number];
        System.out.println("Array size " + number + " initiated.\n");
        System.out.println("Now enter the array intigers.");
        for (int index = 0; index < number; index++)
        {  
            array[index]=keyboard.nextInt();
        }
        keyboard.close();

        System.out.println ( "Sorting " );
        //call the sort mthod and get the returned sorted array
        int[] sortedArray=sort(array);

        //printing the sorted array
        System.out.println(Arrays.toString(sortedArray));

    }

    public static int[] sort(int[] arg) {
        int arrange;
        for (int i = 0; i < arg.length - 1; i++){
            for (int j = i + 1; j < arg.length; j++) {
                if (arg[i] > arg[j]) {
                    arrange = arg[i];
                    arg[i] = arg[j];
                    arg[j] = arrange;
                }
            }
        }
        //return the sorted array
        return arg;        
    }
}

【讨论】:

  • 除了 [I@33909752 它不会输出任何东西
  • 立即尝试。刚刚将导入添加到 Arrays 类
  • 我测试了上面的代码。它工作正常。最后得到排序后的数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多