muenzchen: Überprüfen ob Eingabe eine Zahl ist?

Hallo!

Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?

Danke und schönen Nachmittag noch!

  1. Hallo,

    Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?

    Wie man das direkt überprüfen kann, ist mir nicht bekannt.
    Du kannst jedoch mit der statischen Methode Integer.parseInt(String)
    den übergebenen String in einen integer-Wert "umwandeln" lassen.
    Sollte sich der String nicht in einen integer-Wert umwandeln lassen,
    wird eine "NumberFormatException" geworfen. Du kannst diese abfangen und
    weißt damit, ob sich der String umwandeln läßt oder nicht.
    Nähere Infos findest du in der API-Doku zu Integer.parseInt(String).

    Gruß
    Slyh

    --
    Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
    1. das müsste ich ja dann mit try und catch machen, nicht?
      was ich nämlich will, ist für jeden fall eine andere Funktion aufzurufen. also wenn zahl dann das, wenn nicht dann das
      wie würde das denn dann gehen?

      1. Hallo,

        das müsste ich ja dann mit try und catch machen, nicht?

        Ja.

        was ich nämlich will, ist für jeden fall eine andere Funktion aufzurufen. also wenn zahl dann das, wenn nicht dann das
        wie würde das denn dann gehen?

        Dann mach's so:

        try {
             Integer.parseInt(myInput);
             methodForNumber();
          } catch (NumberFormatException e) {
             methodForNonNumber();
          }

        Das ist allerdings kein sehr schöner Code. Besser wäre vermutlich
        folgendes:

        boolean isNumber = true;
          try {
              Integer.parseInt(myInput);
          } catch (NumberFormatException e) {
              isNumber = false
          }

        if (isNumber) {
              methodForNumber();
          } else {
              methodForNonNumber();
          }

        Vielleicht gibt es aber wirklich eine Methode, mit der sich einfach
        überprüfen läßt, ob sich ein String in einer Zahl umwandeln läßt.
        Diese wäre mir dann aber noch nicht über den Weg gelaufen.

        Gruß
        Slyh

        --
        Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
        1. ok, ich habs jetzt so gemacht, jetzt ergibt sich nur wieder ein neues Problem:
          wie gebe ich jetzt die Eingabe, also myInput, weiter an die Funktionen, die ich aufrufe?

          1. Hallo,

            wie gebe ich jetzt die Eingabe, also myInput, weiter an die Funktionen, die ich aufrufe?

            So wie immer.
            (Ich denke, ich verstehe dein Problem nicht.)

            Gruß
            Slyh

            --
            Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
            1. Ich kenne mich mit Java nicht so aus.
              Ich habs so probiert:

              try {
               Integer.parseInt(myInput);
               methodForNumber(myInput);
              }

              das myInput weiterzugeben an methodForNumber(), aber damit hat er ein Problem.

              1. Hallo,

                try {
                Integer.parseInt(myInput);
                methodForNumber(myInput);
                }

                Doch, genau so geht das. Hast du überhaupt eine Methode
                "methodForNumber" geschrieben, die einen String als Übergabeparameter
                erwartet?

                aber damit hat er ein Problem.

                Das ist keine Fehlerbeschreibung.

                Gruß
                Slyh

                --
                Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
                1. try {
                   Integer.parseInt(myInput);
                   methodForNumber(myInput);
                  }

                  So übergebe ich es.

                  Und methodForNumber sieht dann so aus:

                  public static void methodForNumber(myInput) {
                  ...
                  }

                  1. Hallo,

                    public static void methodForNumber(myInput) {
                    ...
                    }

                    public static void methodForNumber(String input) {
                                                       ^^^^^^

                    Ähm, ich würde dir nahelegen, vielleicht nochmal die Grundlagen
                    der Java-Programmierung nachzulesen.

                    Gruß
                    Slyh

                    --
                    Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
                    1. Danke!

                      Hab ich vergessen.
                      Die Grundlagen schaue ich mir schon an, keine Sorge :D

                      mfg, muenzchen

  2. Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?

    Hallo muenzchen!
    in Javascript gibt es eine kurze Vergleichsanweisung:
    if(isNaN(muenzchen)) gibt "true,false" aus
    "isNaN " steht für is-not-a-number
    MoinMoin
    Klaus