Permalänk
Medlem

Java showInputDialog, hur?

package inlupp4; import java.util.Scanner; import javax.swing.JOptionPane; /** * * @author ##### */ public class Uppgift9 { /** * @param args the command line arguments */ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int val; double saldo1, saldo2; double saldo = 1000; boolean loop = false; while(!loop) { JOptionPane.showMessageDialog(null,"Var god och mata in siffran för det du vill göra"); JOptionPane.showInputDialog("Meny\n1. Insättning\n2. Uttag\n3. Visa saldo\n4. Avbryt"); val = scan.nextInt(); switch(val){ case 1: JOptionPane.showInputDialog("Var god och mata in summan du vill skicka in"); saldo1 = scan.nextInt(); JOptionPane.showMessageDialog(null,"Ditt saldo är nu: " + (saldo = saldo + saldo1) ); break; case 2: JOptionPane.showInputDialog("Var god och mata in det du vill ta ut"); saldo2 = scan.nextInt(); if(saldo2 > saldo) { JOptionPane.showMessageDialog(null,"Du försöker ta ut för mycket pengar, var god och kolla ditt saldo"); } else { System.out.println("Du tog ut " + saldo2); System.out.println("Ditt saldo är nu " + (saldo -= saldo2)); } break; case 3: JOptionPane.showMessageDialog(null,"Ditt saldo är nu " + saldo); break; case 4: System.exit(0); default: JOptionPane.showMessageDialog(null,"Felaktigt värde"); } } } }

Det första fungerar, det med att man ska skriva in 1, 2, 3 eller 4, men sedan när man väljer t.ex. två så hoppar den inte vidare till ta ut funktion, varför?

Dåligt förklarat, men om ni inte förstår ska jag försöka förtydliga.

Tacksam för snabb hjälp!

Permalänk
Medlem

Du blandar äpplen och päron.

Scanner är till för att läsa av tangentbordsinmatning i konsolapplikationer.
JOptionPane är formulär-dialoger.

På detta vis skall du använda det:

string result = JOptionPane.showInputDialog("Meny\n1. Insättning\n2. Uttag\n3. Visa saldo\n4. Avbryt"); int val = Integer.parseInt(result); switch (val).... //Fortsättning

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Hade googlat runt lite och förstod UNGEFÄR hur man skulle göra, men inte riktigt hur jag skulle skriva det..

Tack för hjälpen Leedow

Permalänk
Medlem
Skrivet av Leedow:

Du blandar äpplen och päron.

Scanner är till för att läsa av tangentbordsinmatning i konsolapplikationer.
JOptionPane är formulär-dialoger.

På detta vis skall du använda det:

string result = JOptionPane.showInputDialog("Meny\n1. Insättning\n2. Uttag\n3. Visa saldo\n4. Avbryt"); int val = Integer.parseInt(result); switch (val).... //Fortsättning

Scanner läser strängar, filer och Streams. Datan behöver inte komma från System.in..

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Scanner läser strängar, filer och Streams. Datan behöver inte komma från System.in..

Helt rätt.
Jag tyckte det var rimligt att hålla det jag skrev till sammanhanget, som i detta fall är användarinput, för att minimera feltolkningar.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?