har ett litet problem. ska läsa in en txtfil och dunka in varje rad i en variabel. alltså en rad per variabel. array med andra ord :)
men av nån anledning så fungerar det inte så bra. inget felmeddelande eller så. men när jag kör igång appletten så står det i statusraden att appletten inte har initierats och det är bara grått.
det beror på denna koden, men jag hittar inget som kan vara fel så därför skulle jag behöva lite hjälp.
try
{
FileReader is = new FileReader("fragor.txt");
BufferedReader buff = new BufferedReader(is);
boolean eof = false;
int index;
index=0;
while(!eof) {
fragan[index]=buff.readLine();
if(fragan[index] == null){
eof = true;
}
index++;
}
buff.close();
}
catch (IOException e)
{
}
}
Om det nu är en applet bör du byta ut den här raden:
FileReader is = new FileReader("fragor.txt");
Mot något sådant här:
Reader is = new InputStreamReader(new URL(getDocumentBase(), "fragor.txt").openConnection().getInputStream());
Nu försöker du öppna en fil i klientdatorn, vilket inte är så lyckat. :)
Hur ser filen ut som ska läsas?
Tänkte att din loop kanske snurrar i all oändlighet... prova att ta döda loopen genom att tilldela eof true utan villkorsprövning.
Som det fungerar i ditt fall så läser du först in bufferten till arrayen och sen kollar du om arrayen på sista index är null. Du borde nog kolla direkt på bufferten ist. ;)
Förresten så kan du bespara dig en massa framtida fel om du kör med en Vector ist för en array. Om filen är längre än din allokering får du annars indexOutOfBounds.
Ursprungligen av visslarenkommer inte nåt i javaappletten och inget i fönstret där det kompileras där felmeddelanden brukar komma (kör editplus)
Ja, men hur blir det i *javakonsolen*? Där visas allt som skrivs ut på System.out.
IE5: Gå in på Verktyg -> Internetalternativ -> Avancerat -> Aktivera Javakonsol, starta om Explorer, och öppna javakonsol med Visa -> Javakonsol
MZ: Tools -> Web development eller Tasks (beroende på version) -> Java console
nu syns allting. ett steg på vägen. men ingenting händer. när man trycker på en knapp ska en fråga slumpas fram. men inget händer när man trycker på knappen. förutom att vissa knappar blir aktiva och andra inaktiva precis som det ska vara.
här har ni källkoden till appletten. den kanske kan hjälpa er att hjälpa mig :)
det finns en slumpgrej i den också som jag inte vet om den är rätt eller ej. ska ju slumpa fram frågorna. har provat med att skriva tillexempel fragan[1] där frågan ska skrivas ut men inte skrivs den ut :l
Jag skulle rekommendera att du tar //Slumpa talslump = (int)(min + Math.random() * (index - min + 1));
och gör den när du skall plocka fram en ny fråga...
En annan bra ide är att lagra alla frågorna i en Collection, t.ex. en Vector, som du slumpar in ordningen i och sedan så tar du ut en fråga i taget.
Fördelen med det sättet är att du kan lagra en klass som heter Fråga som innehåller frågan, svaret och metod för att kolla om användarens svar är rätt.
nu lagras det i en vektor. programmet fungerar sålänge som man skriver in frågorna direkt i koden när man deklarerar vektorn. men när man läser från fil så händer ingenting när man trycker på startknappen :l