編集: 大変申し訳ありませんが、あまり明確な質問はありません。他の方法を試してみましょう: 名前のArayのリストがあります:Peter、John、AdamJAVAで何かを見つける方法はありますか?
私たちは文字列名を探しています。 ArrayListにStringが含まれている場合は、Stringを書きたいとします。 ArrayListにStringが含まれていない場合は、StringをArrayListに追加します。
「Adam」を探している場合は、最初に「Peter」、「John」、「Adam」という名前が見つかるので、このプログラムは機能しません。だから、最初の2回は "アダム"はリストにはないと思って行動します。
String findName;
for (i = 0; i < arrayList.size(); i++) {
if (arrayList.get(i).getValue().contains(findName)) {
System.out.println(findName);
break;
}
else
arrayList.add(findString);
}
オリジナル質問:
私は文字列と配列(ArrayListの)を持っています。ストリングが配列内にあれば何かしなければならないし、配列内になければ何かをしなければならない。それ、どうやったら出来るの? ArrayListには、文字列が含まれていないようにそれは、一度だけ文字列を検索し、それが行動する他のすべての回になるので
String myString;
for (i = 0; i < arrayList.size(); i++) {
if (arrayList.get(i).getValue().equals(myString)) {
DO SOMETHING;
break;
}
else
DO SOMETHING ELSE;
}
: は、私はこのようにそれを行うことはできません。
は、だから私はこのようにそれをやっている:String findString = "0";
String myString;
for (i = 0; i < arrayList.size(); i++) {
if (arrayList.get(i).getValue().equals(myString)) {
DO SOMETHING;
findString = "2"; //when I find the String, I change this
break;
}
if findString == "0"; //if I have not found the String, this happens
DO SOMETHING ELSE;
}
と私は感じている、それはこのように行われていないする必要があります。 ;)
私はこの方法の代わりにブール値を使うことができますが、それは他の方法でも同じです。これを正しく行うためのトータルの方法はありませんか?
代わりに '' == –
等号(文字列)break文を削除しますが、アレイ内のすべての試合のために「何かをする」をやりたいですか?そうであれば、breakはループを終了させるので、 'break'できません。文字列がループ内に後で表示されるかどうかは決して分からないので、ループが終了した後でなければ "何か他のこと"を行うことはできません。例えばあなたは基本的に「私は過去30秒以内に何か車の上を走ったのですか?いいえ、次の10時間以内に何かを乗り越えることはないでしょう。 – Andrew
の '' –