我試圖通過輸入洗掉陣列串列的元素,但程式在第三個輸入處停止,我想知道它為什么這樣做。
Scanner scan = new Scanner(System.in);
int[] array = {15, 30, 25, 19, 30, 40}; //1d array
for (int i = 0; i< array.length; i ) //List out the original arraylist
{
System.out.print(array[i] " ");
}
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList()); //converts into arraylist
System.out.print("\nEnter an element to delete:");
for (int i = 0; i < list.size(); i )
{
int input = scan.nextInt();
if (!list.isEmpty())
{
for (int j = 0; j < list.size(); j )
{
list.remove(Integer.valueOf(input)); //input for choosing which element should be remove
System.out.print(list.get(j) " ");
}
System.out.print("\nEnter an element to delete:");
}
else
{
System.out.print("\nArray is empty");
break;
}
}
}
}
uj5u.com熱心網友回復:
你的程式有幾個問題。
for 回圈的條件不正確和其他一些小問題。
這是您程式的更好版本:
public static void main(String[] args) {
int[] array = {15, 30, 25, 19, 30, 40}; //1d array
Scanner scan = new Scanner(System.in);
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList()); //converts into arraylist
while (!list.isEmpty()) {
System.out.println(list);
System.out.print("\nEnter an element to delete:");
int input = scan.nextInt();
list.remove(Integer.valueOf(input)); //input for choosing which element should be remove
}
if(list.isEmpty()){
System.out.println("Array is empty.");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377977.html
