HJÆLP hurtigt

Tags:    java

Jeg er i gang med at lave eksames projekt i java. Programmet jeg skal lave er en quiz som skal indeholde betingelser og løkker. Jeg er utrolig dårlig til at programmere, og kan derfor ikke få en løkke ind i programmet. Løkken skal tælle point i et tekstfelt eller være en knap som skriver nogle små provkerende ting som kom nu, er du faldet i søvn efter fx 10 sekunder. håber på noget hjælp. Eller en while løkke, som virker sådan at man ikke kan komme videre til det næste spørgsmål unden at have svaret rigtigt på det forrige.

Programmet ser så ledes ud:import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.io.*;


public class Sporgsmal2 extends Applet implements ActionListener

{
TextField tekst1, tekst2, tekst3, tekst4, tekst5;
Button knap1, knap2, knap3, knap4, tekst;
Checkbox checkbox1 = new Checkbox();
Checkbox checkbox2 = new Checkbox();
Checkbox checkbox3 = new Checkbox();
int n = 0;
int j = 0;
public void init()
{

this.setLayout(null);
tekst1 = new TextField(" ");
tekst1.setBounds(100,100,230,20);
this.add(tekst1);
tekst1.addActionListener(this);

tekst2 = new TextField(" ");
tekst2.setBounds(100,200,80,20);
this.add(tekst2);
tekst2.addActionListener(this);


tekst3 = new TextField(" ");
tekst3.setBounds(200,200,80,20);
this.add(tekst3);
tekst3.addActionListener(this);

tekst4 = new TextField(" ");
tekst4.setBounds(300,200,80,20);
this.add(tekst4);
tekst4.addActionListener(this);

tekst5 = new TextField(" ");
tekst5.setBounds(350,150,100,20);
this.add(tekst5);
tekst5.addActionListener(this);


checkbox1.setBounds(100,250,10,10);
this.add(checkbox1);

checkbox2.setBounds(200,250,10,10);
this.add(checkbox2);

checkbox3.setBounds(300,250,10,10);
this.add(checkbox3);

knap1 = new Button();
knap1.setBounds(100,300,50,20);
this.add(knap1);
knap1.addActionListener(this);

knap2 = new Button();
knap2.setBounds(200,300,50,20);
this.add(knap2);
knap2.addActionListener(this);

knap3 = new Button();
knap3.setBounds(300,300,50,20);
this.add(knap3);
knap3.addActionListener(this);

knap4 = new Button();
knap4.setBounds(350,100,100,20);
knap4.setLabel("Svar");
this.add(knap4);
knap4.addActionListener(this);

tekst = new Button();
tekst.setBounds(100,340,250,20);
this.add(tekst);
tekst.addActionListener(this);


} // her slutter init ()


public void actionPerformed(ActionEvent e)
{
if (e.getSource() == tekst)
{

if((checkbox1.getState()==false) && (checkbox2.getState()==false) && (checkbox3.getState()==false))
n = (int) (Math.random()*4 +1);
}

if (e.getSource() == tekst)

{
n = (int) (Math.random()*4 +1);
tekst.setLabel("Nyt spørgsmål");
checkbox1.setState(false);
checkbox2.setState(false);
checkbox3.setState(false);

}




if (n==1 && (checkbox1.getState()==false) && (checkbox2.getState()==false) && (checkbox3.getState()==false))
{
tekst1.setText(" Hvem er Robin Hood ?");
tekst2.setText(" En Fredløs ");
tekst3.setText(" En Sherif ");
tekst4.setText(" En hattenål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");

}

else if (n==1 && (checkbox1.getState()==true) )
{
tekst1.setText(" Hvem er Robin Hood ?");
tekst2.setText(" En Fredløs ");
tekst3.setText(" En Sherif ");
tekst4.setText(" En hattenål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap1.setLabel("SANDT");
knap2.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("1 point til dig");


}

else if (n==1 && (checkbox1.getState()==false) )
{
tekst1.setText(" Hvem er Robin Hood ?");
tekst2.setText(" En Fredløs ");
tekst3.setText(" En Sherif ");
tekst4.setText(" En hattenål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap1.setLabel("SANDT");
knap2.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("Intet point til dig");
}

if (n==2&& (checkbox1.getState()==false) && (checkbox2.getState()==false) && (checkbox3.getState()==false))
{
tekst1.setText(" Hvad er en høne ?");
tekst2.setText(" En liter øl");
tekst3.setText("en fugl");
tekst4.setText(" en røget ål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
}

else if (n==2 && (checkbox2.getState()==true))
{
tekst1.setText(" Hvad er en høne ?");
tekst2.setText(" En liter øl");
tekst3.setText("en fugl");
tekst4.setText(" en røget ål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap2.setLabel("SANDT");
knap1.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("1 point til dig");
}

else if (n==2 && (checkbox2.getState()==false))
{
tekst1.setText(" Hvad er en høne ?");
tekst2.setText(" En liter øl");
tekst3.setText("en fugl");
tekst4.setText(" en røget ål");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap2.setLabel("SANDT");
knap1.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("Intet point til dig");
}


if (n==3&& (checkbox1.getState()==false) && (checkbox2.getState()==false) && (checkbox3.getState()==false))
{
tekst1.setText(" Hvem er gul ?");
tekst2.setText(" elefant");
tekst3.setText("rygeost");
tekst4.setText(" kineser");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
}

else if (n==3 && (checkbox3.getState()==true))
{
tekst1.setText(" Hvem er gul ?");
tekst2.setText(" elefant");
tekst3.setText("rygeost");
tekst4.setText(" kineser");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap3.setForeground(Color.red);
knap2.setLabel("FALSK");
knap1.setLabel("FALSK");
knap3.setLabel("SANDT");
tekst.setLabel("1 point til dig");
}

else if (n==3 && (checkbox3.getState()==false))
{
tekst1.setText(" Hvem er gul ?");
tekst2.setText(" elefant");
tekst3.setText("rygeost");
tekst4.setText(" kineser");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap3.setForeground(Color.red);
knap2.setLabel("FALSK");
knap1.setLabel("FALSK");
knap3.setLabel("SANDT");
tekst.setLabel("Intet point til dig");
}


if (n==4 && (checkbox1.getState()==false) && (checkbox2.getState()==false) && (checkbox3.getState()==false))
{
tekst1.setText(" Hvem er lærer for programmering? ");
tekst2.setText(" Lerch ");
tekst3.setText(" Gabel ");
tekst4.setText(" Anne ");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");

}

else if (n==4 && (checkbox1.getState()==true) )
{
tekst1.setText(" Hvem er lærer i programmering? ");
tekst2.setText(" Lerche ");
tekst3.setText(" Gabel ");
tekst4.setText(" Anne ");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap1.setLabel("SANDT");
knap2.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("1 point til dig");
}

else if (n==4 && (checkbox1.getState()==false) )
{
tekst1.setText(" Hvem er lærer for programmering? ");
tekst2.setText(" Lerch ");
tekst3.setText(" Gabel ");
tekst4.setText(" Anne ");
knap1.setLabel("sandt ?");
knap2.setLabel("sandt ?");
knap3.setLabel("sandt ?");
knap1.setLabel("SANDT");
knap2.setLabel("FALSK");
knap3.setLabel("FALSK");
tekst.setLabel("Intet point til dig");


}



}
}



Indlæg senest redigeret d. 26.04.2008 18:30 af Bruger #13671
3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hej

For det første skal du huske at i Java kan kun tjekke om primitive typer er lig hinanden ved hjælp af '==' og da en String (text) ikke er en primitiv type skal man bruge equals() metoden. Det vil sige at:

public void actionPerformed(ActionEvent e)
{
if (e.getSource() == tekst)
{

nok skulle se sådan her ud

public void actionPerformed(ActionEvent e)
{
if (e.getSource.equals(tekst))
{

Jeg kigger på resten af koden om lidt





Hej Jens,

List Pseudo. Du må selv progranmmere noget smart.
Fold kodeboks ind/udKode 


Så er det bare igang med at implementere de nævnte funktioner.

Med venlig hilsen
Ieet





må jo ikke give dig en kode da det et eksamens project, men kunne man ikke forestille sig at du kunne lave et object der har et spørgsmål, svar muligheded og det korrekt svar. Så kunne man vel forestille sig at du lavet en eller anden liste med sådanne objecter for hvert spørgmål. For hvert spørgmål fjerner du så knapperne og text labels fra det foresående, og laver nye knapper og text labels for det nuværende spørgsmål. Du starter med at vise det første spørgsmål i listen, og kun hvis der svares rigtig rykker du til det næste spørgsmål i listen og ligger 1 til point tekstfeltet.
For provokerende bemærkninger skal du hvis de skal være uafhængige af bruger input have fat i en timer eller en tråd.



t