webForumDet fria alternativet

problem

24 svar · 695 visningar · startad av visslaren · sida 2 av 2

PeWMedlem sedan juni 200010 432 inlägg
#21

import java.util.*; ska räcka.
Men för att kunna använda klassen Vector måste du anropa dess konstruktor med new Vector(), såsom jag gjorde i koden ovan.
Så här ser koden ut i sin helhet som jag petade lite i (från din första länk) :

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.TextField.*;
import java.lang.String.*;
import java.io.*;
import java.net.*;
import java.util.*;

public class Fragesport4 extends Applet implements ActionListener {
// Variablar
Label textlbl, error;
Button svarknapp, startknapp, omknapp;
TextField svar;
Panel p, p2, p3;
Random rand = new Random();

private Vector fragan = new Vector();
private Vector svaret = new Vector();
private static final int FRAGANU = 1;
private static final int STARTANU = 0;
private static final int KOLLASVAR = 2;
public int slump;
public int index = 0;
public int min = 0;

public void init() {

// Skapa objekt
p = new Panel();
p2 = new Panel();
p3 = new Panel();
error = new Label();
textlbl = new Label("Frågesport!");
omknapp = new Button("Ny fråga");
startknapp = new Button("Starta");
svar = new TextField();
svarknapp = new Button("Svara");

// Lägg upp formulär
add(p);
p.setLayout(new GridLayout(1,2));
p.add(p2);
p2.setLayout(new GridLayout(2,1));
p.add(p3);
p3.setLayout(new GridLayout(3,1));
p2.add(textlbl);
p3.add(startknapp);
startknapp.addActionListener(this);
p3.add(svarknapp);
svarknapp.addActionListener(this);
p3.add(omknapp);
omknapp.addActionListener(this);

omknapp.setEnabled(false);
svarknapp.setEnabled(false);

// Läs in frågor och svar
try
{
Reader is = new InputStreamReader(new URL(getDocumentBase(), "fragor.txt").openConnection().getInputStream()); 
BufferedReader buff = new BufferedReader(is);

while(buff.ready()) {
     	fragan.addElement(new String(buff.readLine()));		
	index++;
}

buff.close();
}
catch (IOException e)
{
System.err.println(e.getMessage());
}

//Slumpa tal
slump = (int)(min + Math.random() * (index - min + 1));
}

public void actionPerformed(ActionEvent ev) {
		if(ev.getSource()==startknapp) {
			//Starta frågesporten
			startknapp.setEnabled(false);
			omknapp.setEnabled(false);
			svarknapp.setEnabled(true);
			textlbl.setText(""+fragan.elementAt(slump)+"");
		}
		else if(ev.getSource()==svarknapp) {
			//kolla svaret
			startknapp.setEnabled(false);
			omknapp.setEnabled(true);
			svarknapp.setEnabled(false);
		}
		else if(ev.getSource()==omknapp) {
			//starta om frågesporten
			startknapp.setEnabled(false);
			omknapp.setEnabled(false);
			svarknapp.setEnabled(true);
		}		
	}
}

...och du behöver jobba vidare med resten av funktionaliteten... och placeringen av komponenterna, men IO från filen funkar iaf i ovan kod ;)

visslarenMedlem sedan juli 20011 222 inlägg
#22

testade din modifierade kod, PeW. blir inga felmeddelanden, men inget händer när man trycker på startknappen :l

skit också, måste få det att fungera tills på måndag.

visslarenMedlem sedan juli 20011 222 inlägg
#23

my mistake :)

glömde uppdatera htmlfilen jag använder för att köra appletts :)

ser ut att fungera nu :D

visslarenMedlem sedan juli 20011 222 inlägg
#24

hmm bara ett fel kvar nu tycks det som.
i och med att jag bytte till vektorer så fungerar inte denna kod för att jämföra

answer.equalsIgnoreCase(svaret.elementAt(slump))

"kommer upp: "fragesport5.java:134: equalsIgnoreCase(java.lang.String) in java.lang.String cannot be applied to (java.lang.Object)"

answer == svaret.elementAt(slump) fungerar heller inte. blir inget felmeddelande men trots att man skriver rätt svar så blir det fel :l

/r: fick det att fungera med:

reply = svar.getText();
answer = (String)svaret.elementAt(slump);
if (reply.equalsIgnoreCase(answer))

nu tycks allt fungera som det ska. tack för hjälpen! :D

PeWMedlem sedan juni 200010 432 inlägg
#25

Bra :)

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)