Miten kysytään käyttäjältä tietoa

miten kysdytää

Eli miten javassa kysytään käyttäjältä tietoa niinkuin basicissa inputbox ja C/C :ssa cin..?

10

756

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Lätkämaila

      --- ESIMERKKI ALKAA ---

      import java.util.Scanner;

      public class Esimerkki2 {

         public static void main(String[] arg) {
            Scanner sisään = new Scanner(System.in);

            System.out.print("Anna nimesi: ");
            
            String nimi = sisään.nextLine();
            
            System.out.print("Anna ikäsi: ");
            
            int ikä = sisään.nextInt();
            
            System.out.println("Hei " nimi "! Olet " ikä " vuotias.");
         }
      }

      --- ESIMERKKI LOPPUU ---

      • kumpi on oikea

        Löysin bufferedreader homman mikä on melkein samantapainen mutta siinä on try ja catch error pakko. Kumpi on sitten se oikea tapa?


      • Lätkämaila
        kumpi on oikea kirjoitti:

        Löysin bufferedreader homman mikä on melkein samantapainen mutta siinä on try ja catch error pakko. Kumpi on sitten se oikea tapa?

        Helppokäyttöinen Scanner luokka tuli mukaan vasta Java 1.5:een (ja tämän takia useista esimerkeistä ja oppikirjoista ei löydy siitä mitään). Jos teet ohjelmia, joiden pitäisi toimia pienemmillä Java versioilla niin, silloin joudut käyttämään(/tyytymään) BufferedReader, Interger.parseInt(), yms. erillisratkaisuihin.

        Valinta on siis vapaa. En kuitenkaan näe syytä miksi kielten uusia ominaisuuksia (jotka on tarkoitettu helpottamaan ohjelmointia) ei kannattaisi alkaa heti käyttämään ja opettelemaan, jos ei ole tarve pysyä vanhoissa versioissa.


      • miten scannerilla

        Miten tolla skannerilla saa luettua double muuttujaan? jos laitan double nimi = sisään.nextdouble niin ei toimi


      • Lätkämaila
        miten scannerilla kirjoitti:

        Miten tolla skannerilla saa luettua double muuttujaan? jos laitan double nimi = sisään.nextdouble niin ei toimi

        Olethan myös huomioinut sen, että ollaan suomessa, eli ei 10.1 vaan 10,1 ;)


      • heh joooh :p
        Lätkämaila kirjoitti:

        Olethan myös huomioinut sen, että ollaan suomessa, eli ei 10.1 vaan 10,1 ;)

        Niin tietenkin, yllä tässä javassa saa olla tarkkana noitten kanssa. Nyt kun viel muistais ulkoa ton skannauksen hommat :)


      • LepLep
        heh joooh :p kirjoitti:

        Niin tietenkin, yllä tässä javassa saa olla tarkkana noitten kanssa. Nyt kun viel muistais ulkoa ton skannauksen hommat :)

        Suosittelisin ehdottomasti jonkin viisaan sovelluskehitysvälineen käyttöä, jolloin kirjoitusvirheet huomataan heti.

        Suosittelen Ecplipseä: http://www.eclipse.org/downloads/

        Ecplise on ilmainen tuote (Open source).


    • toisesta ajattelusta

      eli seuraavalla koodilla saan tehtyä 4 luvun keskiarvo:
      import java.util.Scanner;


      public class keskiarvo2 {


      public static void main (String[] args) {



      Scanner lue = new Scanner(System.in);

      System.out.print("Anna luku1: ");

      double num1 = lue.nextDouble();


      System.out.print("Anna luku2: ");

      double num2 = lue.nextDouble();

      System.out.print("Anna luku3: ");

      double num3 = lue.nextDouble();

      System.out.print("Anna luku4: ");

      double num4 = lue.nextDouble();





         

         System.out.println((num1 num2 num3 num4)/4);


      }



      }


      ----loppu

      onko järkevää noin vai mitä etuja se silmukka antaisi tähän? onko tämä huonoa tapaa mitä nyt tein

      • Lätkämaila

        Silmukalla homman voisi tehdä seuraavasti:

        --- ALKAA ---

        import java.util.Scanner;

        public class Keskiarvo2 {
           
           public static final int ARVOJA = 4;
           
           public static void main (String[] args) {
              Scanner lue = new Scanner(System.in);
              double summa = 0;
              
              for (int i = 1; i


      • Lätkämaila
        Lätkämaila kirjoitti:

        Silmukalla homman voisi tehdä seuraavasti:

        --- ALKAA ---

        import java.util.Scanner;

        public class Keskiarvo2 {
           
           public static final int ARVOJA = 4;
           
           public static void main (String[] args) {
              Scanner lue = new Scanner(System.in);
              double summa = 0;
              
              for (int i = 1; i

        Meni sanat sekaisin, eli järkevämpi sanan tilalle piti tulla huonompi, tms. sana.


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

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7463
    2. 83
      5092
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      79
      4889
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      132
      4288
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      10
      3068
    6. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      52
      2709
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      43
      2632
    8. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      53
      2267
    9. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      11
      2243
    10. Suudeltiin unessa viime yönä

      Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit
      Ikävä
      21
      1860
    Aihe