apuva

mikä mättää

Mikähän tässä ohjelmassa on vikana?

import java.io.*;
public class Tulostus2
{
   public static void main(String[] args)
   {
      String gender;
      int ika;
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
      try
      {
         System.out.print("Oletko mies vai nainen (m/n)?");
         String gender = in.readLine();  
         System.out.print("Anna ikäsi: ");
         ika = Integer.parseInt(in.readLine());
         switch(gender)
         {
            case m:
              {
               if(ika >= o && ika = 56 && = 0 && = 56 &&

5

468

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Nimimerkki

      Ihan kuin mulla olis ollut joskus ekalla Java-kurssilla sama tehtävä... Vai onko joku muu kysynyt tuosta tehtävästä aiemminkin?

      Kysyessä kannattais varmaan ensin vähän selittää mitä haluaisi ohjelman tekevän ja millainen ongelma sen kanssa on tullut. "Mikähän tässä ohjelmassa on vikana?" on aika kehno kysymys, harva jaksaa käydä kovin tarkkaan koodia läpi, ilman vinkkiä mitä pitäisi etsiä.

      Tuosta vois kuitenkin olla apua;
      http://java.sun.com/docs/books/tutorial/java/nutsandbolts/switch.html

      String ei ole alkeistyyppi vaan ihan olio.

      Vinkkinä vois antaa semmoisenkin, että tulosta poikkeus näkyviin pelkän virheilmoituksen sijaan.

      System.out.println("Ohjelmassa tapahtunut virhe: " e);

      • Piru_

        "String ei ole alkeistyyppi vaan ihan olio. "

        Niinhän se onkin. Ihan oikein sitä on silti tuossa käytetty.

        Hyvä tapa ois kuitenkin alustaa ne muuttujat

        String gender = null;
        int ika = 0;

        Nyt se gender-muuttuja on jo olemassa, niin ei kande luoda sisemmässä lohkossa uutta saman nimistä muuttujaa. Ei varmaan ole tarkoitus, että on kaksi saman nimistä eri lohkoissa voimassa olevaa muuttujaa

        ei siis näin

        "
        String gender = "male";

        if(blaablaa)
        {
        String gender = in.jotainjotain...
        }
        "
        vaan

        "
        String gender = "male";

        if(blaablaa)
        {
        gender = in.jotainjotain...
        }
        "

        tossa ekassa iffissä on O-kirjain eikä nolla

        if(ika >= o && ika


      • Nimimerkki
        Piru_ kirjoitti:

        "String ei ole alkeistyyppi vaan ihan olio. "

        Niinhän se onkin. Ihan oikein sitä on silti tuossa käytetty.

        Hyvä tapa ois kuitenkin alustaa ne muuttujat

        String gender = null;
        int ika = 0;

        Nyt se gender-muuttuja on jo olemassa, niin ei kande luoda sisemmässä lohkossa uutta saman nimistä muuttujaa. Ei varmaan ole tarkoitus, että on kaksi saman nimistä eri lohkoissa voimassa olevaa muuttujaa

        ei siis näin

        "
        String gender = "male";

        if(blaablaa)
        {
        String gender = in.jotainjotain...
        }
        "
        vaan

        "
        String gender = "male";

        if(blaablaa)
        {
        gender = in.jotainjotain...
        }
        "

        tossa ekassa iffissä on O-kirjain eikä nolla

        if(ika >= o && ika

        "A switch works with the byte, short, char, and int primitive data types. It also works with enumerated types (discussed in Classes and Inheritance) and a few special classes that "wrap" certain primitive types: Character, Byte, Short, and Integer (discussed in Simple Data Objects )."

        Eli String ei pelaa suoraan switchissä.


    • I.Proqatlis

      Tuossa yllä jo mainittujen lisäksi esiintyy kahdesti seuraava virheellinen iffi:

      else if(ika >= 56 &&

    • Mikä mättää

      Paljon kiitoksia ja halaus viitseliäille auttajille. Onnistuin korjaamaan kaikki virheeni.

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

    Luetuimmat keskustelut

    1. Duunarit hylkäsivät vasemmistoliiton, siitä tuli feministinaisten puolue

      Pääluottamusmies Jari Myllykoski liittyi vasemmistoliittoon, koska se oli duunarien puolue. Sitä samaa puoluetta ei enää
      Maailman menoa
      235
      5400
    2. Olen väsynyt tähän

      En osaa lopettaa ja koen huonoa omaatuntoa tästä. Kaikki on muutenkin turhaa ja tekemisesi sattuvat. Tunteita on vain hy
      Ikävä
      46
      5380
    3. Oppiiko vasemmistolaiset valehtelun jo kotonaan?

      Sillä vasemmistolaiset/äärivasemmistolaiset valehtelee ja keksii asioita omasta päästään todella paljon. Esim. joku vas
      Maailman menoa
      223
      2909
    4. Seuraava hallituspohja - Kokoomus, kepu, persut + KD

      Kokoomus saa ainakin 20% kannatuksen ensi vaaleissa, keskusta sanoisin noin 15%, persut todennäköisesti enemmän, ehkä 17
      Maailman menoa
      144
      2444
    5. Olenko mies sinun mielestä outo?

      Saat vastata rehellisesti.
      Ikävä
      65
      2052
    6. Millasia unelmia sulla on?

      onko unelmia...?
      Ikävä
      70
      1850
    7. Miten usein toivot

      Tai olet toivonut että olisimme lähekkäin vai toivotko ollenkaan?
      Ikävä
      208
      1714
    8. Miksi et voi tutustua minuun irl?

      Vastaa yleisellä tasolla/ympäripyöreästi, jos pelkäät tunnistamisia.
      Ikävä
      187
      1369
    9. Muistakaa persut, että TE petitte, ei kokoomus

      Miksikö kukaan ei arvostele kokoomusta? No sen vuoksi, että kokoomus noudattaa vaalilupauksiaan. Sen sijaan TE persut,
      Maailman menoa
      30
      1329
    10. Martina tienaa itse rahansa

      Ei tarvitse anella elättäjältään rahaa, ruokaa ja laukkuja.
      Kotimaiset julkkisjuorut
      338
      1256
    Aihe