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

640

    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. Vain vasemmistolaiset rakennemuutokset pelastavat Suomen

      Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot
      Maailman menoa
      19
      3335
    2. Persut huutaa taas: "kato! muslimi!"

      Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe
      Maailman menoa
      9
      2744
    3. Menen nyt koisimaan

      Ja en ehkä palaa tänne. Asia on nyt loppuunkäsitelty ja totuus tuli ilmi
      Ikävä
      28
      2364
    4. Olisiko sinulla

      Jonossa vaihtoehtoja, ehkä
      Ikävä
      41
      1659
    5. KL: Mari Hynynen avoimena - Jouni-rakkaan ja Joel-pojan välit ovat nämä!

      Mari Hynynen (ent. Perankoski) on naimisissa Jouni Hynysen kanssa. Marilla on edellisestä liitosta yksi lapsi, Joel Vola
      Suomalaiset julkkikset
      9
      1374
    6. onko kaivattusi

      vaarallinen? :D
      Ikävä
      41
      1281
    7. Haluaisin rakastaa sinua

      Ja olla sinulle se oikea... Rakastan sinua 💗💗💗
      Ikävä
      8
      1255
    8. Oletko uhriutuja?

      vaikka itse olet rääkännyt toista ja aiheuttanut ties mitä toiselle.
      Tunteet
      52
      1203
    9. Missikohu edustaa nykyajan monimuotoisuutta

      Puolesta vai vastaan, saako esittää pilkkaavasti jonkun toisen ihmisen syntyperäisiä ominaisuuksia? Kadulla vastaan tule
      Sinkut
      258
      1080
    10. Apua pyydän

      Olen tyhmä, kun odotan, että mies lähettäisi viestin. Olemme kuitenkin väleissä ja viestejä on lähetelty. Minun aloitte
      Ikävä
      33
      1056
    Aihe