В вашем цикле, вы должны перебирать список имен и вызвать equalsIgnoreCase («Q») по каждому элементу, добавляя другой вход диалогового каждую итерацию.
считают:
while (names.isEmpty() || !names.get(names.size() - 1).equalsIgnoreCase("q"))
{
names.add(JOptionPane.showInputDialog("Enter type of pie"));
}
И если вы хотите, чтобы игнорировать название пирога «д»:
while (names.isEmpty() || !names.get(names.size() - 1).equalsIgnoreCase("q"))
{
names.add(JOptionPane.showInputDialog("Enter type of pie"));
}
// populates the ArrayList names with the JOptionPane user input
if (!names.isEmpty())
{
names.remove(names.size() - 1);
// remove the last name inputted by the user
// since the only way to terminate the loop is by entering "q",
// you are removing the name of "q" from the list.
}
EDIT: это лучше реализация, так как это только добавляет имена, которые не являются «q»:
String userInput = new String();
while (!userInput.equalsIgnoreCase("q"))
{
userInput = JOptionPane.showInputDialog("Enter type of pie");
if (!userInput.equalsIgnoreCase("q"))
{
names.add(userInput);
}
}
Что вы имеете в виду, что не могу найти его? – Marcin
Ошибка компиляции не может найти символ «имена» – dan
Работает ли он до того, как вы добавите цикл for? I.e код, который вы отправили выше, компилируется? – Marcin