2017-06-17 1 views
-1
import java.util.*; 
public class Election { 
public static void main(String[] args) { 

    //ArrayList<String> Declaration 
    ArrayList<String> al= new ArrayList<String>(); 
    //add method for String ArrayList 
    al.add("Mike Doherty"); 
    al.add("Joan Murphy"); 
    al.add("Marie Smith"); 
    al.add("George Jones"); 

     System.out.println("ArrayList before remove:"); 
     for(String var: al){ 
     System.out.println(var); 
    } 
    //Removing 1st element 
    al.remove(1); 

     System.out.println("ArrayList After remove:"); 
    for(String var2: al){ 
     System.out.println(var2); 
     } 
     //adding a new element 
    al.add("Tom Carroll"); 

     System.out.println("ArrayList After new name:"); 
      for(String var3: al){ 
       System.out.println(var3); 

    } 

} 
} 

上記のコードは、私がしたいと思われることをしていますが、私は好きではありません。アララリストヘルプが必要です

私がしたいことは、最初の4つの名前、すなわちマイク・ドハーティをジョージ・ジョーンズにプリントアウトすることです。

私は、ユーザーがJoan Murphyを削除する候補を入力できるようにしたいと考えています。つまり、ユーザーはTom Carrollという追加候補を入力することができます。

最後に私はJoan Murphyを取り除いて結果をプリントアウトしたいとTom Carroll氏は付け加えました。

私のやり方はうまくいきますが、ユーザーに名前を削除して名前を入力させる方法ではわかりません。

助けがあれば助かります。

おかげで、

マーク

+0

al.remove(1); 2番目の要素が削除されます。インデックスはゼロから始まります –

答えて

1

あなたが探していることはないインデックスで、「値により削除」されているようです。

al.remove("Mike Doherty"); 

「Mike Doherty」をユーザー入力として使用する文字列に置き換えます。そして、あなたは人を同じ方法で追加

`System.out.println("Please enter the candidate name you wish to remove: ");  
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
String toBeRemoved = br.readLine(); 
al.remove(toBeRemoved);` 

0

あなたのような除去のためのユーザ入力を取得するためにリーダーを使用することができます

`System.out.println("Please enter the candidate name you wish to add: ");  
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
String toBeAdded = br.readLine(); 
al.add(toBeRemoved);` 

リストの項目は、文字列があるので、あなたができますその値をリストのremoveメソッドに渡して削除します。