WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   JAVA LOOP (https://www.wn.se/forum/showthread.php?t=32482)

Firekicker 2008-10-10 14:51

Hej!

Jag försöker lära mig loopar men har inte riktigt förstått hur jag skall göra.

Jag vill försöka göra detta med JOptionPane:
--------------------------------------------
Visa ett välkomstmeddelande
Upprepa nedanstående tre steg…
1. Visa en dialogruta med minst fyra olika menyalternativ
2. Användaren väljer ett alternativ ("1","2","3","4","0")
3. Visa ett meddelande (beroende på vilket alternativ som valdes i menyn)
… så länge som användaren inte väljer ”0” (Avsluta) från menyn
Visa ett avslutningsmeddelande
---------------------------------------------

Jag klarar av att visa välkomstmeddelandet och skriva ut menyn och hänvisa till olika meddelanden. Men hur gör jag så att menyn visas om igen efter användaren har valt alt 1-4 och fått dess meddelande ?

-----------------------------------------------------
Min kod ser ut såhär:
Kod:

/**
 *
 */
package se.hig.hit08.jng;
import javax.swing.JOptionPane;

/**
 * @author nit08jng
 *
 */
public class Uppgift4 {

        /**
 * @param args
 */
        public static void main(String[] args) {
 String message0 = "Välkommen!";
 JOptionPane.showMessageDialog(null, message0);

 String [] alternativ = {"1", "2", "3", "4", "0"};
 String menyval = (String)JOptionPane.showInputDialog(
  null, "Välj...", "Meny", JOptionPane.PLAIN_MESSAGE, null, alternativ, alternativ[0]);
        int Menyval = Integer.parseInt(menyval);
 
        if (Menyval == 1)        {
  String message = "JAA du tog nr 1!";
  JOptionPane.showMessageDialog(null, message);       
        }
        if (Menyval == 2)        {
  String message = "JAA! du tog nr 2";
  JOptionPane.showMessageDialog(null, message);
        }
        if (Menyval == 3)        {
  String message = "JAA! du tog nr 3";
  JOptionPane.showMessageDialog(null, message);
        }
        if (Menyval == 4)        {
  String message = "JAA! du tog nr 4";
  JOptionPane.showMessageDialog(null, message);
        }
        if (Menyval == 0)        {
  String message = "Du valde att avsluta - Välkommen åter!";
  JOptionPane.showMessageDialog(null, message);
  System.exit(0);
        }
 }
}

Vet någon ? Någon som kan hjälpa mig på traven ?

Mvh
Johan

emilv 2008-10-10 22:27

do {
}while(Menyval != 0);

Dessutom bör du bryta ut raden
JOptionPane.showMessageDialog(null, message);
och lägga den efter if-satserna, så får du renare kod.
=)

Och så måste jag säga att det är väldigt fult att börja ett variabelnamn med en stor bokstav. Man brukar döpa variabler och funktioner med liten första bokstav, klasser med stor första bokstav och konstanter med enbart stora bokstäver. Det är alltså lätt att misstolka "Menyval" som om det vore en klass, vilket det ju inte är.


Alla tider är GMT +2. Klockan är nu 04:05.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson