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

450

    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. SDP haluaa LISÄÄ veroja bensa-autoille!

      Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot
      Maailman menoa
      121
      17218
    2. Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois

      Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss
      Maailman menoa
      41
      9938
    3. Mies, näen sinua hetken

      ja olet mielessä ikuisuuden. Toisia näen ikuisuuden ja he eivät jää mieleen hetkeksikään. Muistan jokaisen kohtaamisen
      Ikävä
      29
      5081
    4. Riikan perintö: ennätysvelka, ennätystyöttömyys ja ennätysverotus

      Tavallisen keskituloisen suomalaisen verotus on kireintä vuosikymmeniin, ja ensi vuonna palkansaajien käteen jää vieläki
      Maailman menoa
      239
      3895
    5. Antti Lindtman kiitti valtiovarainministeri Purraa

      Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman
      Perussuomalaiset
      33
      3133
    6. Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)

      Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.
      Maailman menoa
      14
      2840
    7. Riikka Purra on ihana, jämpti

      Hän yrittää saada Suomen taas kuntoon. Sanoo asiat suoraan, eikä piiloudu kapulakielen taakse. Riikan kaltaisia päättä
      Maailman menoa
      114
      2805
    8. Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen

      Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.
      Maailman menoa
      25
      2742
    9. "Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa

      Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita
      Maailman menoa
      51
      2625
    10. Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!

      Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling
      Kotimaiset julkkisjuorut
      76
      2503
    Aihe