java - 用户输入数组

标签 java arrays

我正在尝试创建一个程序,将用户输入的整数从大到小排序。我还需要找到一种方法来打印最大和最小数字。当我定义值时,代码排序很好,但现在我已将其切换为用户输入,它出于某种原因发回“0”。这是我的代码

import java.util.Scanner;
public class SortInteger {

        public static void main(String [] args)
        {
            Scanner input = new Scanner(System.in); 
            System.out.println("Please input three numbers");
            int num = input.nextInt();
            int number [] = new int [num];  //Sorting Array
            int temp;

            boolean correct = false; // Forces the sorting to continue till the numbers are in order

            while(correct ==false){
                correct = true;
            for(int i = 0; i>number.length-1; i++ ){

                if(number [i] >  number [i+1]){
                    temp = number [i+1];
                    number [i+1] = number[i];
                    number[i]= temp;
                    correct = false;

                }
            }
        }
                for(int i = 0; i<number.length-1; i++){   //outputs the array to user
                    System.out.println(number[i]);

                }

        }

    }

最佳答案

你只拿了一个号码

int num = input.nextInt();

并且您将它用于数组大小:

     int number [] = new int [num];

但在其余代码中,您没有进行任何输入,因此您的数组是空的。

代码::

import java.util.*;
class test{
 public static void main(String [] args)
    {
        Scanner input = new Scanner(System.in); 
        System.out.println("Please input three numbers");
        int num1 = input.nextInt();
        int num2 = input.nextInt();
        int num3 = input.nextInt();
    int number [] = {num1,num2,num3};  //Sorting Array
    int temp;

    boolean correct = false; // Forces the sorting to continue till the numbers are in order

    while(correct ==false){
        correct = true;
    for(int i = 0; i<number.length-1; i++ ){

        if(number [i] >  number [i+1]){
            temp = number [i+1];
            number [i+1] = number[i];
            number[i]= temp;
            correct = false;

        }
    }
}
        for(int i = 0; i<number.length; i++){   //outputs the array to user
            System.out.println(number[i]);

        }

}}

输出:

Please input three numbers
1
5
4
1
4
5

关于java - 用户输入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986173/

相关文章:

java - 在 JPanel 的一部分中绘制而不重新绘制其余部分

arrays - Swift:将可选数组存储到 NSUserDefaults?

java - 为什么 Java 的 RoundingMode HALF_UP 将 -2.5 舍入到 -3?

java - Android SQLite 更新行不起作用

java - Android 中的处理程序和线程之间的区别以及处理程序是否创建单独的线程?

java - 尝试使用 Servlet 将字符串格式化为日期

javascript - 遍历包含数组的 JSON 对象包含包含数组的对象包含等

来自两个不同数组的JAVA数组串联

javascript - 如何简化嵌套条件?

java - 使用 string.equals 比较 java 中的两个字符串数组