/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
(y/n) når et program er færdigt...hvordan.~
Fra : Henrik Petersen


Dato : 01-09-02 09:15

Hej læser

Jeg har lavet et lille tal program, men nu vil jeg gerne lave det sådan, at
når man er kommet igennem programmet, kan man vælge om man vil starte forfra
(Y/N)...hvordan klare jeg det

String input2 = JOptionPane.showInputDialog("Vil du prøve igen....: (y/n)");
int j = Integer.parseInt(input2);

bla bla bla...
while(!done)
if // det er selve talprogrammet
løkke // betingelser

hvordan klare jeg det....der skal jo ikke spørges om (Y/N) første gang man
starter......

henrik





 
 
Frank Hahn (01-09-2002)
Kommentar
Fra : Frank Hahn


Dato : 01-09-02 09:27

"Henrik Petersen" <hep@image.dk> wrote in message
news:j0kc9.41032$ww6.3204321@news010.worldonline.dk...
> Hej læser
>
> Jeg har lavet et lille tal program, men nu vil jeg gerne lave det sådan,
at
> når man er kommet igennem programmet, kan man vælge om man vil starte
forfra
> (Y/N)...hvordan klare jeg det
>
> String input2 = JOptionPane.showInputDialog("Vil du prøve igen....:
(y/n)");
> int j = Integer.parseInt(input2);
>
> bla bla bla...
> while(!done)
> if // det er selve talprogrammet
> løkke // betingelser
>
> hvordan klare jeg det....der skal jo ikke spørges om (Y/N) første gang man
> starter......

done = false
while (!done)
{
.. din kode


String bla.bla= JOption..
done = true / false; ...
}




Henrik Petersen (01-09-2002)
Kommentar
Fra : Henrik Petersen


Dato : 01-09-02 10:56

hej læser

hvad gør jeg forkert, lige meget hvad jeg gør når jeg skriver (Y/N)for at
getage eller afslutte, så afslutter den......

henrik






import javax.swing.JOptionPane;

public class Demo
{
public static void main(String args[])
{
String input1 = JOptionPane.showInputDialog("Skriv et tal: (Tallet skal
vare mellem 0 - 100)");
int y = Integer.parseInt(input1);
System.out.println("Det tal der skal gettes, er blevet gemt....");
JOptionPane.showMessageDialog(null,"Tallet er blevet
gemt","Gemt",JOptionPane.PLAIN_MESSAGE);
System.out.println("");

{
int min = 0;
int max = 100;
int i = 0;
boolean done = false;
while(!done)
{
String input = JOptionPane.showInputDialog("Skriv et tal, mellem " +min
+" og " +max);
int x = Integer.parseInt(input);
{
if(x == y)
{
done = true;
System.out.println("Tallet er det rigtige, godt gettet...:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er det rigtige
HURRA HURRA","Gætte leg",JOptionPane.PLAIN_MESSAGE);
}
if(x > y)
{
System.out.println("Tallet er for højt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
hojt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
max = x; //sætter max i DialogBox
}
else if(x < y)
{
System.out.println("Tallet er for lavt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
lavt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
min = x; //sætter min i DialogBox
}
}
i +=1; //Tæller antal gæt
}
JOptionPane.showMessageDialog(null,"Du brugte i alt "+i +" gæt, til at
finde tallet "+input1 +"","Resultat",JOptionPane.PLAIN_MESSAGE);

String input2 = JOptionPane.showInputDialog("Vil du prøve igen....:
(y/n)");
int j = Integer.parseInt(input2);
done = true;
}

}
}





Henrik Petersen (01-09-2002)
Kommentar
Fra : Henrik Petersen


Dato : 01-09-02 11:40

Har lavet lidt om, men stadig samme problem......

boolean YES_OPTION = false;


int answer = JOptionPane.showConfirmDialog(null, "Vil du Pråve igen..:
(Y/N)", "Gentag",JOptionPane.YES_NO_OPTION);

if (answer == JOptionPane.YES_OPTION);
YES_OPTION = true;
-----------------------------------------------------------------------


import javax.swing.JOptionPane;

public class Demo
{
public static void main(String args[])
{
String input1 = JOptionPane.showInputDialog("Skriv et tal: (Tallet skal
vare mellem 0 - 100)");
int y = Integer.parseInt(input1);
System.out.println("Det tal der skal gettes, er blevet gemt....");
JOptionPane.showMessageDialog(null,"Tallet er blevet
gemt","Gemt",JOptionPane.PLAIN_MESSAGE);
System.out.println("");

{
int min = 0;
int max = 100;
int i = 0;


boolean done = false;
boolean YES_OPTION = false;
while(!done)

{
String input = JOptionPane.showInputDialog("Skriv et tal, mellem " +min
+" og " +max);
int x = Integer.parseInt(input);
{
if(x == y)
{
done = true;
System.out.println("Tallet er det rigtige, godt gettet...:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er det rigtige
HURRA HURRA","Gætte leg",JOptionPane.PLAIN_MESSAGE);
}
if(x > y)
{
System.out.println("Tallet er for højt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
hojt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
max = x; //sætter max i DialogBox
}
else if(x < y)
{
System.out.println("Tallet er for lavt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
lavt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
min = x; //sætter min i DialogBox
}
}
i +=1; //Tæller antal gæt
}
JOptionPane.showMessageDialog(null,"Du brugte i alt "+i +" gæt, til at
finde tallet "+input1 +"","Resultat",JOptionPane.PLAIN_MESSAGE);

int answer = JOptionPane.showConfirmDialog(null, "Vil du Pråve igen..:
(Y/N)", "Gentag",JOptionPane.YES_NO_OPTION);

if (answer == JOptionPane.YES_OPTION);
YES_OPTION = true;
}

}
}




Frank Hahn (01-09-2002)
Kommentar
Fra : Frank Hahn


Dato : 01-09-02 13:17

ehm.. ok.. here goes..

"Henrik Petersen" <hep@image.dk> wrote in message
news:u8mc9.41096$ww6.3222748@news010.worldonline.dk...
> Har lavet lidt om, men stadig samme problem......
>
> boolean YES_OPTION = false;
>
>
> int answer = JOptionPane.showConfirmDialog(null, "Vil du Pråve igen..:
> (Y/N)", "Gentag",JOptionPane.YES_NO_OPTION);
>
> if (answer == JOptionPane.YES_OPTION);
> YES_OPTION = true;
> -----------------------------------------------------------------------
>
>
> import javax.swing.JOptionPane;
>
> public class Demo
> {
> public static void main(String args[])
> {
> String input1 = JOptionPane.showInputDialog("Skriv et tal: (Tallet skal
> vare mellem 0 - 100)");
> int y = Integer.parseInt(input1);
> System.out.println("Det tal der skal gettes, er blevet gemt....");
> JOptionPane.showMessageDialog(null,"Tallet er blevet
> gemt","Gemt",JOptionPane.PLAIN_MESSAGE);
> System.out.println("");
>
> {
> int min = 0;
> int max = 100;
> int i = 0;
>
>
> boolean done = false;
> boolean YES_OPTION = false;
> while(!done)
>
> {
> String input = JOptionPane.showInputDialog("Skriv et tal, mellem " +min
> +" og " +max);
> int x = Integer.parseInt(input);
> {
> if(x == y)
> {

*** SLET DENNE LINIE...
> done = true; <-- Denne her

<sniple masser af kode>

**** ÆNDRE HER
> if (answer == JOptionPane.YES_OPTION);
> YES_OPTION = true; <-- ***** SLET OGSÅ DENNE LINIE
done = false; // Hvis du vil prøve igen, så er done = false
else
done = true; // Brugeren svarede No og vil IKKE prøve igen

<snip resten>


MvH
/Frank




Henrik Petersen (01-09-2002)
Kommentar
Fra : Henrik Petersen


Dato : 01-09-02 22:42

Det driller stadig....

det er her det går galt....
if (svar == JOptionPane.YES_OPTION)
ddone = false; // Hvis du vil prøve igen, så er done = false
else
ddone = true; // Brugeren svarede No og vil IKKE prøve igen

Der bliver ikke getaget noget, der springes ud af løkken, lige meget
hvad....

henrik
--------------------------------------------------------



import javax.swing.JOptionPane;

public class Demo
{
public static void main(String args[])
{
String input1 = JOptionPane.showInputDialog("Skriv et tal: (Tallet skal
vare mellem 0 - 100)");
int y = Integer.parseInt(input1);
System.out.println("Det tal der skal gettes, er blevet gemt....");
JOptionPane.showMessageDialog(null,"Tallet er blevet
gemt","Gemt",JOptionPane.PLAIN_MESSAGE);
System.out.println("");

{
int min = 0;
int max = 100;
int i = 0;


boolean done = false;
boolean ddone = false;

boolean YES_OPTION = false;

while(!done)



{
String input = JOptionPane.showInputDialog("Skriv et tal, mellem " +min
+" og " +max);
int x = Integer.parseInt(input);
{
if(x == y)
{
done = true;
System.out.println("Tallet er det rigtige, godt gettet...:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er det rigtige
HURRA HURRA","Gætte leg",JOptionPane.PLAIN_MESSAGE);
}
if(x > y)
{
System.out.println("Tallet er for højt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
hojt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
max = x; //sætter max i DialogBox
}
else if(x < y)
{
System.out.println("Tallet er for lavt, det indtastede var..:"+input);
JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
lavt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
min = x; //sætter min i DialogBox
}
}
i +=1; //Tæller antal gæt
}

JOptionPane.showMessageDialog(null,"Du brugte i alt "+i +" gæt, til at
finde tallet "+input1 +"","Resultat",JOptionPane.PLAIN_MESSAGE);

int svar = JOptionPane.showConfirmDialog(null, "Vil du prøve igen.... ",
"Forsæt",JOptionPane.YES_NO_OPTION);

if (svar == JOptionPane.YES_OPTION)
ddone = false; // Hvis du vil prøve igen, så er done = false
else
ddone = true; // Brugeren svarede No og vil IKKE prøve igen
}

}
}





Frank Hahn (02-09-2002)
Kommentar
Fra : Frank Hahn


Dato : 02-09-02 07:59

Ehm..
Hvilken løkke?
Der er kun *een* løkke,
den med "done", du tester jo ikke
nogetsteds på "ddone".


"Henrik Petersen" <hep@image.dk> wrote in message
news:_Qvc9.46033$ww6.3317331@news010.worldonline.dk...
> Det driller stadig....
>
> det er her det går galt....
> if (svar == JOptionPane.YES_OPTION)
> ddone = false; // Hvis du vil prøve igen, så er done = false
> else
> ddone = true; // Brugeren svarede No og vil IKKE prøve igen
>
> Der bliver ikke getaget noget, der springes ud af løkken, lige meget
> hvad....
>
> henrik
> --------------------------------------------------------
>
>
>
> import javax.swing.JOptionPane;
>
> public class Demo
> {
> public static void main(String args[])
> {
> String input1 = JOptionPane.showInputDialog("Skriv et tal: (Tallet skal
> vare mellem 0 - 100)");
> int y = Integer.parseInt(input1);
> System.out.println("Det tal der skal gettes, er blevet gemt....");
> JOptionPane.showMessageDialog(null,"Tallet er blevet
> gemt","Gemt",JOptionPane.PLAIN_MESSAGE);
> System.out.println("");
>
> {
> int min = 0;
> int max = 100;
> int i = 0;
>
>
> boolean done = false;
> boolean ddone = false;
>
> boolean YES_OPTION = false;
>
> while(!done)
>
>
>
> {
> String input = JOptionPane.showInputDialog("Skriv et tal, mellem " +min
> +" og " +max);
> int x = Integer.parseInt(input);
> {
> if(x == y)
> {
> done = true;
> System.out.println("Tallet er det rigtige, godt gettet...:"+input);
> JOptionPane.showMessageDialog(null,"Tallet "+input +" er det rigtige
> HURRA HURRA","Gætte leg",JOptionPane.PLAIN_MESSAGE);
> }
> if(x > y)
> {
> System.out.println("Tallet er for højt, det indtastede
var..:"+input);
> JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
> hojt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
> max = x; //sætter max i DialogBox
> }
> else if(x < y)
> {
> System.out.println("Tallet er for lavt, det indtastede
var..:"+input);
> JOptionPane.showMessageDialog(null,"Tallet "+input +" er for
> lavt","Gætte leg",JOptionPane.PLAIN_MESSAGE);
> min = x; //sætter min i DialogBox
> }
> }
> i +=1; //Tæller antal gæt
> }
>
> JOptionPane.showMessageDialog(null,"Du brugte i alt "+i +" gæt, til at
> finde tallet "+input1 +"","Resultat",JOptionPane.PLAIN_MESSAGE);
>
> int svar = JOptionPane.showConfirmDialog(null, "Vil du prøve igen.... ",
> "Forsæt",JOptionPane.YES_NO_OPTION);
>
> if (svar == JOptionPane.YES_OPTION)
> ddone = false; // Hvis du vil prøve igen, så er done = false
> else
> ddone = true; // Brugeren svarede No og vil IKKE prøve igen
> }
>
> }
> }
>
>
>
>



Jonathan Stein (01-09-2002)
Kommentar
Fra : Jonathan Stein


Dato : 01-09-02 18:51

Henrik Petersen wrote:

> if (answer == JOptionPane.YES_OPTION);
> YES_OPTION = true;

Er du sikker på, at du vil have et semikolon efter din "if ..." linje?

M.v.h.

Jonathan

--
Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
(giver mulighed for eget SSL-certifikat).
http://www.jsp-hotel.dk/



Jan Jonasen (01-09-2002)
Kommentar
Fra : Jan Jonasen


Dato : 01-09-02 13:47

In article <j0kc9.41032$ww6.3204321@news010.worldonline.dk>, Henrik
Petersen (hep@image.dk) wrote:
> Hej læser
>
> Jeg har lavet et lille tal program, men nu vil jeg gerne lave det sådan, at
> når man er kommet igennem programmet, kan man vælge om man vil starte forfra
> (Y/N)...hvordan klare jeg det
>
Dette er do - while løkkens fornemmeste opgave, sørge for at noget bliver
gennemført minimum én gang.

boolean cont = true;
do
{
   int svar = JOptionPane.showConfirmDialog(
      null,
      "Skal der fortsættes?",
      "title",
      JOptionPane.YES_NO_OPTION
   );
   cont = (svar == JOptionPane.YES_OPTION);
}
while (cont);

Ja/nej boksen vil her blive vist mindst én gang, og alt efter svaret fra
brugeren flere.

--
Mvh/re Jan Jonasen
jonasen (at) it (dot) dk

If I wanted culture, I'd eat yogurt.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste