用Scanner和ArrayList线性表。用户输入数据存放进不定长的数组中,怎么做
import java.util.*;
public class Polynomial {
public static void main (String[]args){
Scanner flat=new Scanner(System.in);
ArrayList<Integer> b=new ArrayList<Integer> ();
while (flat.hasNext())
b.add(flat.nextInt());
for(int i=0;i<b.size();i++){
System.out.println(b.get(i));
}
}
}
以上代码为什么错的啊。输入数据后,没有输出。我默认用户全是输入整形数据、
如果要按我的要求。怎么写?求大家能够给出代码
------解决方案--------------------
加一个控制输入结束的功能,你这个程序一直处于输入状态,无法跳出while循环。例如下面的输入-1表示输入完成。
Scanner flat = new Scanner(System.in);
ArrayList<Integer> b = new ArrayList<Integer>();
while (flat.hasNext()) {
int in = flat.nextInt();
if (in == -1) {
break;
} else {
b.add(in);
}
}
for (int i = 0; i < b.size(); i++) {
System.out.println(b.get(i));
}
------解决方案--------------------
public boolean hasNext()
Returns true if this scanner has another token in its input. This method may block while waiting for input to scan. The scanner does not advance past any input.
它会阻塞等着你输入下一个int