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

621

    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. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      179
      7443
    2. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      87
      3306
    3. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      57
      2335
    4. Kolari Klaukkala

      Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se
      Nurmijärvi
      69
      1502
    5. Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä

      Mutta tätä ei YLE eikä Helsingin Sanomat kerto.
      Maailman menoa
      370
      1438
    6. Kuvaile elämäsi miestä

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      57
      1353
    7. Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!

      Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l
      Kesämökki
      20
      1326
    8. Toivoisin, että lähentyisit kanssani

      Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä
      Ikävä
      17
      1071
    9. Olisinpa jo siellä, otatkohan minut vastaan

      Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni
      Ikävä
      79
      1030
    10. Kevyt on olo

      Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3
      Ikävä
      84
      1028
    Aihe