Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Arixon

Sprawdzenie czy zmienna zawierająca wartość użytkownika jest liczbą Java

Promowane odpowiedzi

Cześć. Czy jest jakaś metoda, która sprawdzi czy zmienna podana przez użytkownika jest liczbą ?

Chodzi mi o warunek if, tak jak niżej podałem. Czy coś takiego istnieje, a jeżeli tak to w jaki sposób to skomponować?

 

Czytałem coś o RegExp i wzorach, lecz wyczytałem też, że spowalnia to bardzo program.                 

   if(sprawdzenie czy zmienna jest liczbą))
   {
  	System.out.println("To nie jest liczba, podaj liczbę!");
   }
   else {  
    double wynik = s1+s2;
	System.out.format("Suma liczb wynosi "+wynik);
                }

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Niestety dalej nic. Nie wiem, może to ja coś źle robię. Temat można zamknąć, postaram znaleźć się sam rozwiązanie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@Salva  poniżej kod bez sprawdzania. Próbowałem na różne sposoby, koledze udało się to zrobić na try,catch, lecz jak ja robię to w ogóle bluej nie chce ruszyc.

import java.util.*;

public class Dodawanie {
  Scanner write = new Scanner(System.in);

  void dodawanie(){
    System.out.println("...::: ZNAJDUJESZ SIĘ W   ::1.DODAWANIE::  :::...\n");
    System.out.println("Podaj ile liczb wprowadzisz: ");

    int iloscLiczb = write.nextInt();

    // deklaracja i tworzenie tablicy o długości podanej przez użytkownika
    double[] podaj = new double[iloscLiczb];

    // wprowadzanie danych
    for (int i = 0; i < podaj.length; i++) {
      System.out.print(" Podaj " + i + " liczbę: ");
      podaj[i] = write.nextDouble();
    }

    double suma = 0;
    for(double pomiar : podaj) {
      suma += pomiar;
    }
    
    System.out.println("Wynik: " + suma);
  }
} 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

I to działa? Teoretycznie pobierasz wartość od użytkownika w typie double:

write.nextDouble();

Możesz spróbować użyć tej funkcji do sprawdzenia:

public double isDouble(String input) {
  try {
    return Double.parseDouble(input);
  }
  catch(Exception e) {
    return 0.0;
  }
}

Teraz jeżeli podana wartość jest w typie double, to zwróci tą liczbę. Jeżeli nie, to wyrzuci wyjątek i zwróci ZERO.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@Salva ale mi chodzi, że jak użytkownik w terminarzu wpisz zamiast liczby literę, to wyskoczy mi komunikat, że To nie jest liczba i poprosi o podanie liczby.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Utwórz konto

Utwórz konto. To darmowe i bardzo proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się teraz


×