找到一组数字的范围

时间:2014-03-14 10:10:53

标签: java arraylist

大家好,只是学习java,试图找出通过键盘输入的一组数字的范围。感谢

import java.util.Scanner;
import java.util.ArrayList;

public class FindRange {

    public static void main (final String args []){

        Scanner num= new Scanner( System.in);

        ArrayList a = new ArrayList();
        System.out.println ( " Enter the first number : ");
        add.num(nextInt());
    }
}

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你想在阵列中找到范围&然后打印或使用它。

你可以这样做,我相信有更好的方法,但这就是我的想法

public static void main(String[] args)  {
    Scanner console = new Scanner(System.in);
    ArrayList<Integer> ints = new ArrayList<Integer>();

    for (int i = 0; i < 100; i++) {
        ints.add(i);
    }

    System.out.println("Enter the first range number");
    int first = console.nextInt();
    System.out.println("Enter the last range number");
    int last = console.nextInt();   


    ArrayList<Integer> rangedInts = new ArrayList<Integer>();

    int min = 0;

    for (int i = 0; i < ints.size(); i++) {
        for (int num : ints) {          
            if (num >= first && num <= last && num > min && !rangedInts.contains(num)) {
                min = num;
                rangedInts.add(num);
            }
        }
    }

    for (int integer : rangedInts) {
        System.out.println(integer);
    }
}

答案 1 :(得分:0)

问题不明确,但我可以注意到代码中的几个问题。 首先,ArrayList是一个泛型类。 这意味着您可以使用您希望的类型的ArrayList(对象类型,实际上不是原始类型)。 因此,你应该写:

ArrayList<Integer> a = new ArrayList<Integer>();

另外,您错误地使用了Scanner类。 要获得通过键盘输入的整数,您必须写:

int n = num.nextInt();

并将其写入循环以获得多个元素。

最后,您可以将您的号码插入ArrayList。

a.add(n);

现在你应该能够编写程序了。

编辑: 例如,实现可以是:

import java.util.Scanner; import java.util.ArrayList;

公共类FindRange {

public static void main (String args []){

    Scanner num= new Scanner( System.in);
    int n = 0, min = 0, max = 0;
    ArrayList<Integer> a = new ArrayList<Integer>();
    for(int i=0; i < 10 ; i++){
        System.out.println ( " Enter the number" + (i+1) + " : ");
        n = num.nextInt();
        if(i==0) //first number
            min = max = n;
        else{
            if(n < min)
                min = n;
            else if(n > max)
                max = n;
        }
        a.add(n);
     }
     System.out.println("The range is " + (max-min));
}

}