大家好,只是学习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());
}
}
答案 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));
}
}