zwracana wartość ze Scanner

0

Jeżeli podam w wieku jakiegoś doubla to wyskakuje błąd. Prawdopodobnie to przez Roundoff error. Czy jedynym rozwiązaniem jest użycie klasy BigDecimal czy można to jakoś inaczej rozkminić?

import java.util.*;

public class Npwynew{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        System.out.print("Jak masz na imię? ");
        String imię = in.nextLine();

        System.out.print("Ile masz lat? ");
        double wiek = in.nextDouble();

        System.out.println(imię+ " " + (wiek + 1.0));
    }
} 
0

Polska ma taki fajny standard zapisywania liczb z przecinkiem zamiast z kropką jak większość świata i powoduje to często problemy. Spróbuj podając liczbę oddzielić ją kropką jeżeli podawałeś przecinek lub przecinkiem jak podawałeś kropkę. To jest zależne od locale którego używasz, a to domyślnie jest brane z systemu operacyjnego.

0

Oczywiście, jeden problem z głowy :). A tutaj? Możesz zerknąć czemu to nie działa?

 import java.io.Console;
import java.util.*;

public class Npwynew{
    public static void main(String[] args){

        Console cons = System.console();

        String username = cons.readLine("Nazwa ");
        char[] passwd = cons.readPassword("Hasło: ");

        
    }
}
0
krzysiek050 napisał(a):

Polska ma taki fajny standard zapisywania liczb z przecinkiem zamiast z kropką jak większość świata i powoduje to często problemy.

Sprostowanie:
mapka z wiki

0
 Exception in thread "main" java.lang.NullPointerException
	at Npwynew.main(Npwynew.java:9)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
0

Linijka at Npwynew.main(Npwynew.java:9) wskazuje że w 9 lini został wyrzucony NullPointerException. Błąd wyrzucany gdy używasz referencji która nie wskazuje na żaden obiekt. Prawdopodobnie Console cons = System.console(); zwróciło null, a próbujesz go później użyć.

0

Przykład z książki... Mógłbyś mi pokazać co zrobić, aby działało. Dopiero zaczynam obiekty i klasy.

0

Uruchom swój program z poziomu linki komend (dla Windowsa cmd.exe). Natomiast bardziej wyczerpującą odpowiedź możesz znaleźć tutaj

1 użytkowników online, w tym zalogowanych: 0, gości: 1