2012-08-09 9 views
6

以下のコードでは、要素を1回だけ呼び出します。どのようにすべてが削除され、要素が1つしか残っていない場合、 "これはarraylistの最後の要素です"arraylistの最後の要素を取得する

ArrayList<String> Responselist = new ArrayList<String>(); 
Responselist.add(CommentResponse()); 
Responselist.add(TriviaResponse()); 
Responselist.add(CriticResponse()); 
String[] SelectRand = new String [3]; 

for (int i = 0; i < SelectRand.length; ++i) 
{ 
    int rnd = (int) (Math.random() * Responselist.size()); 
    SelectRand[i] = Responselist.get(rnd); 
    Responselist.remove(rnd); 
} 

for (String x : SelectRand) 
{ 
    if (!(Responselist.isEmpty())) 
    { 
     System.out.println(x); 
    } 
} 
+0

get(0)? ...それは本当の質問ですか? –

+0

静的フィールドとローカル変数の識別子が小文字で始まるのは、通常javaの規約です。このコンベンションに従うと、あなたのコードを仲間のJavaコーダーに読みやすくします。 – amit

+0

私は実際にこれがクールだと思う、質問自体は競争を見つけるバグです。私は4つの問題を見つけました(下記参照)。しかし私はもっと多くがあると確信しています:)。 – mihaisimi

答えて

1

これは私が推測するにそれを実行する必要があります。

if (list.size() == 1) { 
    System.out.println(list.get(list.size() - 1)) // or just .get(0) of course... 
} else { 
    System.out.println("List is empty or bigger than one") 
} 
6

には、ArrayListのサイズの制御を行うことができ、IDのEST

if (arraylist.size()==1){ 
    System.out.println("this is the last element in the arraylist"); 
} 

、あなたが最後に印刷したい場合(1つの要素の場合、index = 0)としてアクセスできます。

1

あなたが下部ケースと変数を開始する必要がある場合は、構築

if(responseList.size() == 1) 
{ 
System.out.println("this is the last element in the arraylist") 
} 

あなたは以下でこれを解決することができます。

-1

しようとすると、インターフェイスではなく、具体的なクラスには、Java

に規則に

代わりの

ArrayList<String> Responselist = new ArrayList<String>(); 

次にコードを貼り付けます。それは

List<String> responselist = new ArrayList<String>(); 

私は他のasnswerはあなたに元のクエリに答えるのに十分であると考えるだろうように、標準のJava変数によっても

List<String> Responselist = new ArrayList<String>(); 

はキャメルケースです。

関連する問題