-1
STOPに入ると終了しないので、do whileループに問題があります。また、例外を追加する必要があるのか、そうでないのか分かりません。私はtoStringを行うほうが効率的だと知っていますが、プログラムの必要条件は出力を抽出するときのforループです。Javaでdo whileループに関する問題
import java.util.*;
import java.util.ArrayList;
import java.lang.IndexOutOfBoundsException;
public class MyProj
{
public static void main(String[] args)
{
ArrayList <String> MyItems = new ArrayList <String>();
Scanner Scan = new Scanner(System.in);
String Temp;
System.out.println("Please enter the name of an object, repeat as needed, type STOP to end");
do
{
Temp = Scan.nextLine();
if(Temp != "STOP")
{
MyItems.add(Temp);
}
}
while(Temp == "STOP");
for(int x = 0; x <= MyItems.size() - 1; x++)
{
System.out.println(MyItems.get(x));
}
}
}
'while(!temp.equalsIgnoreCase(" stop "));また、メモリアドレスを比較するjava ...の文字列を' == 'と比較することはできません。代わりに '.equals(String another)'を使用するか、上記の例でちょうど使用したもの – 3kings
ありがとう、非常に感謝します。 –
[Javaで文字列を比較するにはどうすればよいですか?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –