【发布时间】:2016-03-25 02:17:44
【问题描述】:
我对 Java 很陌生,我正在尝试使用数组和数组列表编写一个程序,您可以在其中输入任意数量的值,并使用星号输出两个参数之间的值。 例如:
[5,14,23,43,54,15]
1-10: *
11-20: **
21-30:*
31-40:
41-50:*
51-60: *
等等。这是我到目前为止所拥有的,但我遇到了错误和超出范围的异常。谁能说我是否走在正确的轨道上?任何帮助表示赞赏!
package arraylists;
import java.util.ArrayList;
import java.util.Scanner;
public class numberslists {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
ArrayList numbers = new ArrayList();
int [] number = new int[10];
int x, count = 0;
System.out.println("how many numbers would you like?");
count = reader.nextInt();
System.out.println("enter in those numbers please");
for (x=0; x < count; x++){
number[x] = reader.nextInt();
numbers.add(number[x]);
}
System.out.println(numbers);
int x10 = numbers.indexOf(number[x] < 10);
numbers.remove(x10);
System.out.println(numbers);
}
}
【问题讨论】:
-
从异常中查看堆栈跟踪。它将识别导致问题的代码行。然后看看这行代码,问问自己那行有什么问题。 (提示:循环退出后
x的值是多少?)另外,由于您使用的是原始ArrayList,因此您错过了一些非常有用的编译器反馈。 (例如,number[x] < 10是一个布尔值,但您没有将任何Boolean对象放入numbers。) -
你说它计算两个参数之间有多少个值。您在哪里输入或设置您所说的 2 个参数?