Kako da dodam objekt u listu

Kako da dodam objekt u listu

offline
  • Pridružio: 10 Dec 2011
  • Poruke: 1

Imam problem da dodam nove reci u vec postojecu listu. Naime program radi delimicno, ukoliko zelim da izlistam sve ubacene reci (SWITCH 3) tada vidim nove reci ubacene na zadnje mesto u listi uz pomoc metode sa (SWITCHA 2).

Medjutim ukoliko zelim da pokrenem metodu test() uz pomoc
(SWITCHA 1) te nove reci se nikada ne pojave u listi. A trebalo bi.

Evo koda za sve 3 klase koje su po mom misljenju odgovorne za problem.

Problem je zadnja linija koda u metodi wordMenu() po meni ali nisam siguran. Kod inace prolazi kompilator samo sto ne dodaje naknadno ubacene reci u nov test.

import java.util.Scanner; /**  * Class which interacts with user using scanner.  * And runs the main method of the program.  *  * @author (Igor Mijatovic)  * @version 1.0(2011.11.06)  */ public class Menu {     public Scanner mScanner;     private static  TestGenerator mGenerator = new TestGenerator();     private WordDatabase mDatabase;        /**     * Constructor for objects of class Menu     *    */    public Menu()    {         mScanner = new Scanner(System.in);         mDatabase = new WordDatabase();    }        /**      * Main method that runs our program.      * From welcome menu trough test or adding new words.      * Up to the goodbye screen.      *      */    public void show()    {                login();                 while(true)         {             welcomeMenu();                         if(!mScanner.hasNextInt())             {                 System.out.println(mScanner.nextLine() + " är inte giltigt input");                 continue;             }             int option = mScanner.nextInt();                          switch(option)             {                 case 1:                     //clearScreen();                     Test test = mGenerator.generateNewTest();                     test.start();                                    break;                                 case 2:                     clearScreen();                     wordMenu();                      clearScreen();                 break;                                 case 3:                     clearScreen();                     listWords();                 break;                                 case 4:                      clearScreen();                      if(goodbyeMenu()){                           return;                      }                      else{                      }                 break;                                                                 default:                     System.out.println("--> Förstår inte <--");                 break;             }         }    }         /**     * Method that list all words currently in database.     *    */    private void listWords()    {         for(int i = 0; i < mDatabase.size(); i++)         {             System.out.println(mDatabase.get(i));         }         System.out.println();    }    /**      * Method that prints out welcome text.      * Helps with keeping main method easier to understand.      *      */    private void welcomeMenu()    {         System.out.println("Hej och välkommen till Igor's glostränare!");         System.out.println();         System.out.println("1.Kör glostest");         System.out.println("2.Registera ord");         System.out.println("3.Skriv ut alla glösor.");         System.out.println("4.Avsluta testet.");         System.out.println();         System.out.print("Vad vill du göra ? --> ");    }        /**     * Method that takes users name.     * Helps with keeping main method easier to understand.     *    */    private void login()    {        System.out.print("Ditt namn: ");        mScanner.nextLine();           System.out.print("\f");    }        /**      * Method that allows user to add new words into database.      *      */    private void wordMenu()    {            System.out.println();            System.out.println("Lägga till ord menyn");            System.out.println();            System.out.print("Svenska:-->");            String Svenska = mScanner.next();             System.out.println();            System.out.print("Engelska:-->");            String Engelska = mScanner.next();            System.out.println();            System.out.print("-->");                                System.out.println(Svenska + ":" + Engelska);            System.out.println();                        Word word = new Word(Svenska, Engelska);            mDatabase.add(word);         }     /**      * Method that creates goodbye screen.      *      */    private boolean goodbyeMenu()     {            System.out.println("Är du säker att du ska avsluta program");         System.out.println();         System.out.println(" 1 - avsluta");         System.out.println(" 2 - gå tillbaka");         System.out.print("-->");                 int input = mScanner.nextInt();         if(input == 1){             return true;         }                else{             return false;         }    }         /**      * Method that clears the screen allowing better overwiev.      *      */    private void clearScreen()    {       System.out.print('\u000C');    } }

Klasa test gde je mozda problem

import java.util.ArrayList; import java.util.Iterator; /**  * Class that runs test and counting results.  *  * @author (Igor Mijatovic)  * @version 1.0(2011.11.06)  */ public class Test {     private ArrayList<Word> mTestWords;     private int mScore;     /**      * Constructor for objects of class Test.      *      * @param is ArrayList wordlist from class Word.      */     public Test(ArrayList<Word> wordList)     {        mTestWords = wordList;        mScore=0;     }     /**      * Method which count and print out test results.      *      */     public void start()     {         System.out.println("Nu startar testet");         Iterator<Word> it = mTestWords.iterator();         while(it.hasNext())         {             if(it.next().answer())             {                 mScore++;             }         }         System.out.println("Testet avlklarat; " + mScore + "/" + mTestWords.size());     } }

Klasa TestGenerator koja kreira test

import java.util.ArrayList; /**  * This class generates tests using class RandomN and WordDatabase.  *  * @author (Igor Mijatovic)  * @version 1.0(2011.11.06)  */ public class TestGenerator {     private RandomN mRandom;        private WordDatabase mDatabase;         /**      * Constructor for objects of class TestGenerator.      *      */     public TestGenerator()     {         mDatabase = new WordDatabase();         mRandom = new RandomN(mDatabase.size());     }         /**      * Method that add new words to our wordlist.      *      * @param new (word).      */     public void addWord(Word word)     {         mDatabase.add(word);         mRandom = new RandomN(mDatabase.size());     }         /**      * Method which randomly pick values from our database.      *      * @return  Test randomly picked values from database list.      */     public Test generateNewTest()     {         ArrayList<Word> wordlist = new ArrayList<Word>();                 for(int i = 0; i < 10; i++)              {                int max = mDatabase.size();             Word word = mDatabase.get(mRandom.getRandomValue(max));             while(wordlist.contains(word))             {                 word = mDatabase.get(mRandom.getRandomValue(max));             }             wordlist.add(word);              }         return new Test(wordlist);             } }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1075 korisnika na forumu :: 28 registrovanih, 3 sakrivenih i 1044 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Arsenije, bojank, Bubimir, ccoogg123, cemix, comi_pfc, Dogma21, Georgius, JimmyNapoli, Kubovac, MB120mm, Miki01, milenko crazy north, moldway, mrav pesadinac, nebkv, nenad81, novator, ozzy, Regrut Boskica, repac, saputnik plavetnila, Smiljke, Srle993, stokssone, vathra, WerWolf14, wolf431