Member 13492392 Ответов: 1

Java: как создать arraylist?


    public static void main(String[] args) {
        // TODO code application logic here
        Score first = new Score();
        String ans;
        String points;
        
       do {
       ans = JOptionPane.showInputDialog(null, new JTextArea("Welcome to the my "
                + "High Score App!" + "\n" + "\n" + "Please select an option:"
                + "\n" + "1 - Add a new score" + "\n" + "2 - Display a list "
                + "of all scores" + "\n" + "3 - Display the TOP 10 scores" 
                + "\n" + "4 - Exit"));
        
        
                
        if (ans.equals("1")) {
            
            first.myName = JOptionPane.showInputDialog(null, "What is the name of the player");
            
               
            points = JOptionPane.showInputDialog(null, "What is the players score");
            
            
            first.setScore(points);  
            
        } else if (ans.equals("2")) {
            ArrayList listTest = new ArrayList( );
            listTest.add(first.myName);
            
            for (int x = 0; x  < listTest.size();++x)
             
             
            JOptionPane.showMessageDialog(null, "Players Name: " + listTest.get(x)
                            + "\n" + "Players Score: " + first.getScore());
        
        } else if (ans.equals("4")) { 
            break;
            
        } else {
            JOptionPane.showMessageDialog(null, "Error");
            break;
        }
        
        } while (ans.equals(ans));
    
            
    }
    
}


Я пытаюсь создать arraylist, чтобы захватить имена игроков и результаты матчей. Я хочу продолжать добавлять в этот список каждый раз, когда пользователь вводит 1 и вводит имя игрока и счет.

Что я уже пробовал:

Я попробовал то, что есть в приведенном выше коде, но не делает того, что я хотел сделать.

Mohibur Rashid

Я не вижу никаких попыток

Member 13492392

Я уже пробовал это сделать:

ArrayList listTest = новый ArrayList( );
listTest.добавить(в первую очередь.моеимя);

for (int x = 0; x < listTest.size();++x)


JOptionPane.showMessageDialog(null, "имя игрока:" + listTest.get(x)
+ "\n" + "счет игроков:" + first.getScore());

Но я не знаю, правильно ли это делать.

1 Ответов

Рейтинг:
1

Peter Leow

Ваш код не имеет смысла, вы сами его написали?
Я предположил, что вы хотите добавить новый объект Score в arraylist, когда опция "1", не так ли?
Используйте следующий фрагмент кода в качестве руководства:

// You would already have a Score class with at least a myName property and a setScore() method

// Create an arraylist to store Score objects
ArrayList<Score> listTest=new ArrayList<Score>();

// Your other code

if (ans.equals("1")) {
  Score first = new Score();
  first.myName = JOptionPane.showInputDialog(null, "What is the name of the player");
  points = JOptionPane.showInputDialog(null, "What is the players score");
  first.setScore(points);

  listTest.add(first); 
}
// You other code

Имя вашей переменной, например first, можно было бы сделать лучше.
Что делать, если пользователь решит ввести неверный ввод, как ваш код будет обрабатывать его?