Wprowadzanie z inerfejsu liczb z przecinkiem.

Wprowadzanie z inerfejsu liczb z przecinkiem.
MD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Cześć,

Jak zrobić, żeby użytkownik mógł wprowadzić do programy liczby z przecinkiem ?

import java.util.Scanner;
class product{
public static void main(String[] args) {

  float arg1, arg2; 
  Scanner input = new Scanner(System.in); 
  System.out.print("Input first argument: ");
  arg1 = input.nextInt(); 
  System.out.print("Input second argument: ");
  arg2 = input.nextInt(); 



 float product = arg1 * arg2; 

  System.out.println ( "the product of 2 arguments is: " + product);
                                    }
          }

Kiedy odpalam ten kod, program nie pozwala wprowadzić liczb z przecinkiem.

AF
  • Rejestracja: dni
  • Ostatnio: dni
JW
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wroclaw
  • Postów: 12
1

Użyj wczytywania double lub float

Kopiuj
float liczbaFloat = new Scanner(System.in).nextFloat();
double liczbaDouble = new Scanner(System.in).nextDouble();

Pamiętaj, że format zapisu liczby zależy od systemu operacyjnego! Jeśli masz system polski - przecinek, jeśli angielski - kropka.

orchowskia
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Zielona Góra
  • Postów: 83
1

Możesz też wczytać string i go sparsować. Np. użyć metody replace żeby zamienić przecinek na kropkę, a później użyć Double.parseDouble(twojString)
Możesz też później użyć wyrażenia regularnego żeby wyciąć wszystko co nie jest cyfrą i kropką .replaceAll("[^0-9.]", "")

CS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 296
1

Zmień ustawienia lokalne:

Kopiuj
    Scanner in = new Scanner(System.in);
    in.useLocale(Locale.forLanguageTag("pl"));
    System.out.println("Wpisz liczbę z przecinkiem:");
    float a = in.nextFloat();
    in.useLocale(Locale.ENGLISH);
    System.out.println("Wpisz liczbę z kropką:");
    float b = in.nextFloat();
    System.out.println("a = "+ a +", b = "+ b);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.