Onko se int

Pirjo Karjalainen

Terve!

Millähän keinolla saisi tietää onko käyttäjän antama syöte (scanner) muotoa int?

Kiitos.

5

666

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ihmettä tarkoitat?

      Tarkoitatko:

      1) Skannattujen kuvien OCR-prosessointia?
      2) scanf-perheen funktiota?

      Jos ongelma on Xscanf (fscanf, sscanf, jne.), lue tuntematon merkkijonona, ja sen jälkeen tutki onko ensimmäinen merkki '-', jos on, lisää pointteria joka osoittaa merkkijonoon yhdellä. scanf-funktioita ei tietenkään näe juuri koskaan missään hyvin toteutetussa ohjelmistossa, ilmiselvistä syistä.

      #include
      #include

      int check_number(char * str)
      {
      /* onko ensimmäinen merkki miinus */
      if(*str =='-') str ;
      do
      {
      if(!isdigit(*str)) return 0;
      }
      while(* str);
      return 1;
      }

      int check_int(char * str)
      {
      /* tarkastetaan onko numero esitettävissä int-muodossa */
      int number;
      char buf[20];
      number = atoi(str);
      sprintf(buf, "%d", number);
      if(strcmp(buf, str)==0)
      return 1;
      return 0;
      }

      int main(void)
      {
      int i;
      char *test[] = {"", "-123", "-", "a", "100", "12312312382131232"};
      char *test2[] = {"blah 123 bleh", "blah - bleh", "abc -200 aaa"};
      char buf[50];

      for(i=0; i

      • luulin aiheen olevan C:tä

        kylläpäs nyt sattuikin... en jaksa samaa javana. Vinkki - Exception.


    • keksa

      käytä Integer-luokan metodeja

      muistaakseni

      try
      {
      int luku = Integer.valueOf( syöte ).intValue()
      }
      catch (exception e)
      {
      //eipä ollu perkema!
      }

    • tietoa
    • Esimerkkejä

      --- ESIMERKKI ALKAA ---

      import java.util.Scanner;

      public class Esimerkki {
         
         public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            
            if (scan.hasNextInt())
               System.out.println("Syöte on int: " scan.nextInt());
            else
               System.out.println("Syöte ei ole muotoa int");
         }
      }

      --- ESIMERKKI LOPPUU ---



      --- ESIMERKKI ALKAA ---

      import java.util.InputMismatchException;
      import java.util.Scanner;

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

            try {
               int numero = scan.nextInt();
               
               System.out.println("Syöte on int: " numero);
            } catch(InputMismatchException e) {
               System.out.println("Syöte ei ole muotoa int");         
            }
         }
      }

      --- ESIMERKKI LOPPUU ---



      --- ESIMERKKI ALKAA ---

      import java.util.Scanner;

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

            String jono = scan.next();
            
            try {
               int numero = Integer.parseInt(jono);
               
               System.out.println("Syöte on int: " numero);
            } catch(NumberFormatException e) {
               System.out.println("Syöte ei ole muotoa int");         
            }
         }
      }

      --- ESIMERKKI LOPPUU ---

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      67
      2405
    2. Tiedän satavarmasti ettet tule koskaan

      Uskaltamaan mitään. Ei me tulla edes näkemään koskaan.
      Ikävä
      66
      1387
    3. Kyläkauppias ajoi kännissä töistä kotiin

      Ei edes kallis auto estä humalassa ajamista, vaikka luulisi alkolukko olevan sellaisessa jo vakiovarusteena. https://ww
      Maailman menoa
      75
      1200
    4. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      4
      1117
    5. Miks me oikein

      Rakastuttiin vaikka kaikki on mahdotonta?
      Ikävä
      79
      845
    6. Kiitos upeasta palvelusta kukkamyyjä

      Kiitos sinulle upea kaunis kukkamyyjä Kuhmon torilla 🌹 Upea iloinen asenteesi ja kaunis hymysi pelasti päiväni ❤️ Jäi
      Kuhmo
      19
      790
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      43
      678
    8. Ratikka Turkuun

      Ei hyvä. Ja syy on siinä , kukaan ei osaa suunnitella oikeaa reittiä. Pitää huomioide, kiskoja sijaintia ei voi muutta
      Turku
      83
      672
    9. Miehet trikoissaan

      On se kauhian näkköistä, kun miehet tiukossa trikkoissa juoksentelloo ja mulukku paestaa trikkoijjen läpi. Kahtokkee pe
      Suomussalmi
      25
      649
    10. Rakastan sinua

      Yhä.
      Ikävä
      30
      636
    Aihe