witam,
problematyczny kod to:
import java.io.IOException;
import java.util.Scanner;
import java.util.InputMismatchException;
public class program {
static public Scanner scanner;
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
int q=1,y,i,g;
double m=1,s=0;
scanner = new Scanner(System.in);
Automat p = new Automat(15,15,20,25,25,25);
Napoj[] napoje= new Napoj[3];
napoje[0] = new Napoj(1.7,0,"Coca-Cola");
napoje[1] = new Napoj(2,0,"Sprite");
napoje[2] = new Napoj(2.1,20,"Fanta");
while (q!=0)
{
System.out.println("Co chcesz zrobic?");
System.out.println("Kupic napoj: nacisnij 1");
System.out.println("Wydrukowac raport o monetach: nacisnij 2");
System.out.println("Wydrukowac raport o kupionych napojach: nacisnij 3");
System.out.println("Wyjsc: nacisnij 0");
// q=System.in.read();
q = scanner.nextInt();
System.out.println(q);
switch (q)
{
case 1: {
for (int j = 0; j <3; j++) {
napoje[j].nazwaa();
System.out.println(": "+napoje[j].cenaa()+" nacisnij "+j);
}
g = scanner.nextInt();
System.out.println(g);
if (napoje[g].czyjest()) {
y=1;
s=0;
while (y!=0){
System.out.println("Monety wrzucne: "+s+"\n Co chcesz zrobic: \n\t\t Wrzuc monete: 0 \n\t\t Kup napoj: 1 \n\t\t Anuluj: 2");
System.out.println("Twoj wybor: ");
// y=System.in.read();
y = scanner.nextInt();
if (y==0) {
System.out.println("Wrzuc monete. ");
m = (double)scanner.nextDouble(); //TU WLASNIE JEST PROBLEM, PROBOWALEM JUZ UZYC SCANNERA NA KILKA ROZNYCH SPOSOBOW I NIC!
s=s+m;
p.dodaj(m);
}
if ((y==1)&&(napoje[g].wydajreszte(s)<0)) {System.out.println("Brak srodkow. Wrzuc monete.");}
else {
System.out.println("reszta: ");
p.monety(napoje,s,g);
}
if (y==2) { break; }
}
}
else System.out.println("Brak zadanego napoju.");
}
case 2:
p.wypisz();
case 3: {
System.out.println("Kupiles: ");
for (i=0; i <3 ; i++) {
napoje[i].nazwaa();
System.out.println(": "+napoje[i].kupno());
break;
}
}
}
}
}
}
a dokladnie to miejce:
m = (double)scanner.nextDouble();
pomimo wielu prob wyrzuca wciaz blad:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at program.main(program.java:57)