Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: if-lause ja monta koodiriviä?

Sivun loppuun

Tommittaja [29.12.2008 16:19:07]

#

voiko yhteen if- lauseeseen asettaa monta toimintoa: esim jos:

int raha = Lue.kluku();  // Lukee syötteen int muodossa
int ostos = Lue.kluku(); // Lukee syötteen int muodossa
String avainsana = Lue.rivi(); // Lue.rivi() lukee syötteen String muodossa
     if (avainsana.equals("moi")) {
          raha == 0 //JA esim. ostos == 0;
     }

niin onko se mahdollista, vai pitääkö vain laittaa toinen else if samalle avainsana:lle?

Mod. lisäsi kooditagit

Blaze [29.12.2008 16:20:57]

#

if (avainsana.equals("moi") && raha == 0 && ostos == 0) {
  // ...
}

Tommittaja [29.12.2008 17:19:14]

#

ok.. kiitos vastauksesta, ei tullut edes mieleen käyttää sitä &&- juttua

vehkis91 [29.12.2008 17:21:11]

#

Sitten jos haluaa, että ehto on tosi, vaikka vain yksi noista asioista olisi totta niin voi laittaa näin:

if (avainsana.equals("moi") || raha == 0 || ostos == 0)
{
  // ...
}

Tommittaja [29.12.2008 17:31:07]

#

joo mutta eikös se menisi näin:

if (avainsana.equals("moi")) {
    raha == 0 && ostos == 0;
}

Mod. lisäsi kooditagit

vehkis91 [29.12.2008 17:32:52]

#

Ei ainakaan c++ mene noin. :D

Tommittaja [29.12.2008 17:33:18]

#

itse käytän tuota javaa ja olenkin vasta aloittelija.. käyttänyt tuota javaa noin 3 viikkoa

PS: mikä tuo "JVM" on mitä kaikki käyttää viestiensä lopussa?

Grez [29.12.2008 17:37:41]

#

Ihan sama onko Java, C, C++, PHP... Kaikissa if syntaksi menee seuraavasti:

if (ehto) {
  suorite
}

Suorite suoritetaan, jos ehto toteutuu.

Eli jos kirjoitat

if (avainsana.equals("moi")) {
raha == 0 && ostos == 0;
}

Niin ehtoon ei sisälly mitään muuta kuin tarkistus, onko avainsana "moi".

Jos avainsana on "moi" niin ehto toteutuu ja suoritetaan:

raha == 0 && ostos == 0;

Eli käytännössä ei suoriteta mitään, koska palautti tuo true tai false, niin tulosta ei sijoiteta mihinkään.

Jos avainsana ei ole "moi" niin ei suoriteta mitään.

vehkis91 [29.12.2008 17:38:00]

#

Jaa no sitten, mutta silti toi minkä mää laitoin on oikein. Toi minkä sää laitoit on väärin. Mutta toisaalta mää en oo ikinä javaa käyttänyt. :D

Edit: Ja nää javaa koskevat aiheet voi laittaa tonne "muut kielet"- osioon...

Tommittaja [29.12.2008 17:40:09]

#

no niin periaatteessa siinä vain alustetaan muuttujat nolliksi..
mutta sen voi tietenkin laittaa esim:System.out.println("sinulla on "+raha+" rahaa"); tai vastaavasti

Grez [29.12.2008 17:41:31]

#

Tommittaja kirjoitti:

no niin periaatteessa siinä vain alustetaan muuttujat nolliksi..

Ei siinä mitään alusteta.

raha = 0; //Sijoitus, "alustaa" rahan nollaksi
raha == 0; //vertailuoperaatio, palauttaa true jos raha on nolla, muuten false

Ja tuosta JVM:stä... En huomaa että kukaan täällä olisi käyttänyt moista. Muuten voisi Javaan liittyen arvailla vaikka "Java Virtual Machine"

vehkis91 [29.12.2008 17:42:10]

#

Ei alusteta, se alustus tapahtuu näin:

if (avainsana.equals("moi"))
{
raha = 0;
ostos = 0;
}

Edit: Grez ehti ensin...

Tommittaja [29.12.2008 17:45:02]

#

joo unohdin.. noi on niin helppo sekoittaa noi booleanit ja noi normi sijoitusoperaatiot

Metabolix [29.12.2008 17:45:25]

#

Tommittaja kirjoitti:

PS: mikä tuo "JVM" on mitä kaikki käyttää viestiensä lopussa?

Ne taitavat olla jormin nimikirjaimet, ja eivät niitä muut käytä kuin hän.

vehkis91 [29.12.2008 17:47:44]

#

:D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta