只要用戶輸入/洗掉元素,我就需要我的陣列是動態的。陣列不能已經定義長度或詢問用戶長度。例如用戶決定添加 5,陣列將是:{5},然后用戶添加 34 {5,34},然后洗掉 5,{34}。有沒有辦法做到這一點?我一直在嘗試使用串列,但是當我使用如果洗掉一個不起作用并且當我使用帶有此代碼的 switch 時,它會顯示“無法訪問的陳述句”。這是到目前為止的代碼:
List<String> list = new ArrayList<>();
Scanner stdin = new Scanner(System.in);
do {
System.out.println("Current " list);
System.out.println("Add more? (1) delete one? (2) exit (3)");
int a= stdin.nextInt();
switch(a){
case 1:
System.out.println("Enter: ");
list.add(stdin.next());
break;
case 2:
System.out.println("Enter: ");
list.remove(stdin.next());
break;
case 3:
break;
default:
break;
}
} while (true);
stdin.close();
System.out.println("List is " list);
String[] arr = list.toArray(new String[0]);
System.out.println("Array is " Arrays.toString(arr));
uj5u.com熱心網友回復:
您可以嘗試使用標簽。所以基本上你的案例 3 中的 break 只會在 switch 陳述句之外中斷,而不是在 do while 回圈之外。您可以在執行之前添加一條陳述句,如下所示:
outerloop:
do{
switch(a){
// rest of your logic
case 3:
break outerloop;
}
}
while(true)
其中外環是一個標簽。請試試這個。
uj5u.com熱心網友回復:
while我覺得你的說法有問題。當您使用break關鍵字時,它指的是您的switch陳述句。所以你永遠不會到達回圈的盡頭。
嘗試一些東西來實作break回圈
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/467428.html
