|
| (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.
| |
|
|