Aaltosulkujen käyttö?

niin siis semmonen ongelma että en oikein osaa käyttää noita aaltosulkuja javassa. ei toimi nuo if/else jutut oikein :

____________________

public class paaluokka {
public static void main(String[] args) {

int luku1, luku2, luku3, summa, jee;

System.out.println("Anna kolme lukua, lasken niiden summa");
System.out.println("Anna eka luku: ");
luku1 = Input.kluku("");
System.out.println("Anna toinen luku");

luku2 = Input.kluku("");

System.out.println("Kolmas");
luku3 = Input.kluku("");

summa = luku1 luku2 luku3;

if (summa < 10) {
System.out.println("Pienten lukujesi summa oli:" summa);

}

else if (summa >= 10 && summa 2) {
System.out.println("f");

} else

System.out.println("gee");



}
}


_________________________________________________

mikä neuvoksi?
9589
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

tuon kyllä korvaisin

"
else {
System.out.println("Suurten lukujesi summa oli:" summa (jee = Input.kluku("oliko
luku hyvä(1) vai huono(2)")) "");
}
"

tällä

else {
System.out.println("Suurten lukujesi summa oli:" summa);
jee = Input.kluku("oliko
luku hyvä(1) vai huono(2)");
}

viimeisessä if/elsessä tulostuu aina "gee", koska jos vastataan 1 tai 2, niin ei vastaus ole ikinä suurempi kuin 2

Äänestä
  • kiitoksia vastauksestasi.
    mutta ohjelma ei suostu lukemaan muuttujaa kuitenkaan

    Äänestä

  • javamies kirjoitti:

    kiitoksia vastauksestasi.
    mutta ohjelma ei suostu lukemaan muuttujaa kuitenkaan

    Miten sinä luulet muuttujan lukemisen tapahtuvan? Koodisi mukaan sinulla on jossain Input-niminen luokka ja siellä metodi nimeltä kluku. Näitten sisältöä et kuitenkaan ole kertonut.

    Äänestä

  • I.Proqatlis kirjoitti:

    Miten sinä luulet muuttujan lukemisen tapahtuvan? Koodisi mukaan sinulla on jossain Input-niminen luokka ja siellä metodi nimeltä kluku. Näitten sisältöä et kuitenkaan ole kertonut.

    Eihän tuota input-luokan oliota ole edes luotu, vaan se hyppää heti kehiin.

    Äänestä

  • dflajl kirjoitti:

    Eihän tuota input-luokan oliota ole edes luotu, vaan se hyppää heti kehiin.

    Näyttäis olevan Input luokassa möllöttävä staattinen metodi... Eli ei tarvi luoda erikseen ilmentymää luokasta. Samaan tyyliin kuin vaikka System.out.println()

    Äänestä

  • Nimimerkki kirjoitti:

    Näyttäis olevan Input luokassa möllöttävä staattinen metodi... Eli ei tarvi luoda erikseen ilmentymää luokasta. Samaan tyyliin kuin vaikka System.out.println()

    Tuossa on input luokka:

    import java.util.Scanner;

    public class input {

    public static int kluku(String kysymys) {
    System.out.print(kysymys);
    Scanner sc=new Scanner(System.in);
    int i=sc.nextInt();
    return i;


    }
    }

    Äänestä

  • javamies kirjoitti:

    Tuossa on input luokka:

    import java.util.Scanner;

    public class input {

    public static int kluku(String kysymys) {
    System.out.print(kysymys);
    Scanner sc=new Scanner(System.in);
    int i=sc.nextInt();
    return i;


    }
    }

    Eihän tämä ole koskaan voinut mennä edes kääntäjästä läpi. Annoit sen vaikutelman, että ohjelmasi toimisi jotenkin, ei vain kysy muuttujia.

    paaohjelma-luokassa sinä kutsut Input-luokan kluku-metodia. Kuitenkaan Input-luokkaa ei ole missään, input sen sijaan on. Huomaa, että input ja Input ovat eri asioita. Muuta vaikka paaohjelma-luokassa Inputit inputeiksi. Sitten kääntäjä valittaa vielä, että jee-muuttujaa ei kenties ole alustettu. Kääntäjä on sen verran fiksu, että huomaa jeen saavan arvon vain viimeisessä else-haarassa, muutoin jee on alustamaton.

    Näiden muutosten jälkeen ohjelma menee kääntäjästä läpi, ja sitten se voidaan ajaa.

    Äänestä

että tuossa lopussa viimeinen lause ei ole heti elseä seuraavalla rivillä.

Äänestä
  • oon kokeillu, ei johdu siitä

    Äänestä

Kommentoi aloitusta


javamies kirjoitti:

niin siis semmonen ongelma että en oikein osaa käyttää noita aaltosulkuja javassa. ei toimi nuo if/else jutut oikein :

____________________

public class paaluokka {
public static void main(String[] args) {

int luku1, luku2, luku3, summa, jee;

System.out.println("Anna kolme lukua, lasken niiden summa");
System.out.println("Anna eka luku: ");
luku1 = Input.kluku("");
System.out.println("Anna toinen luku");

luku2 = Input.kluku("");

System.out.println("Kolmas");
luku3 = Input.kluku("");

summa = luku1 luku2 luku3;

if (summa < 10) {
System.out.println("Pienten lukujesi summa oli:" summa);

}

else if (summa >= 10 && summa 2) {
System.out.println("f");

} else

System.out.println("gee");



}
}


_________________________________________________

mikä neuvoksi?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu