Wpis z mikrobloga

Hej Mirki próbuje napisać prosty program w Java ale mam problem gdyż nie wiem dla czego ale nie wyświetla on wyników. Kod się kompiluje, ale nie wi m dla czego po wpisaniu pierwszej i drogiej liczby oraz znaku działania nie wyświetla wyniku,

import java.util.Scanner;
public class K
{
public static void main (String[] args)
{
Scanner scan = new Scanner(System.in);
double a,b;
System.out.println("Podaj pierwszą liczbę ");
a = scan.nextDouble();
System.out.println("Podaj drógą liczbę ");
b = scan.nextDouble();
System.out.println("Jakie wykonać działanie na liczbach\nDodawnie +\nOdejmowanie -\nDzielenie /\nMnorzenie *");
String a1;
a1 = scan.nextLine();
while (scan.hasNext())
{
if (a1.equals("+")) {
System.out.println(a + b);
}
if (a1.equals("-")) {
System.out.println(a - b);
}
if (a1.equals("/")) {
System.out.println(a / b);
}
if (a1.equals("*")) {
System.out.println(a * b);
}
if (a1.equals(""))
{
break;
}
}
}
}

#java
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Bogdan1986: już pomijając to, że używasz pętli do tego typu zagadnienia, to po wpisaniu liczby, enter pozostaje w strumieniu wpisując później znak dodawania czy co tam chcesz w pierwszej kolejności wchodzi enter czyli Twoje a1 nie przechowuje znaku wywołaj pustą metodę nextLine() po wpisaniu drugiej liczby
  • Odpowiedz
  • 0
@Bogdan1986 polecam się nauczyć po każdorazowym skanerze typów liczbowych wywolac scan.nextLine(); w przypadku gdy prosisz o String nie ma problemu ale spróbuj napisać kod w którym najpierw chcesz uzyskać inta a później String bez i z dodatkową linia ww dostaniesz dwa różne wyniki.
  • Odpowiedz