Ei toimi vaikka pitäisi

Maineri

Moi!

Tässä koodissa on if-lauseke jossa on currentLevel[y][x] == "S" mutta se ei toimi vaikka sen pitäisi. Testasin myös currentLevel[1][1] jossa "S" sijaitsee mutta ei toimi silti. Eli "if" ei toimi vaikka pitäisi toimia. Koodi:
for (int y = 0; y < 15; y ) {
for (int x = 0; x < 20; x ) {
if(inFile.hasNext()) {
line = inFile.next();
currentLevel[y][x] = line;
//Nämä if eivät toimi vaikka tuolla arrayssa on S.. Testasin myös laittaa tohon suoraan currentLevel[1][1] jossa S on...
if(currentLevel[y][x] == "S") {
System.out.println("Tää toimii!");
PlayerX = x * 35;
PlayerY = y * 35;
PlayerMoveY = y;
PlayerMoveX = x;
} else if(currentLevel[y][x] == "F") {
MoneyInLevel ;
} else if(currentLevel[y][x] == "E") {
LevelFinishX = x * 35;
LevelFinishY = y * 35;
}
}
}
}

7

169

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ööp

      Kokeile .equals()

    • pcmuseo
    • dadaak

      Vosiko olla Joku ylimääräinen merkki esim '\n' perässä. trim ja sitten vertailu

    • Tutki-sitä

      Katso linen sisältö inFile.next():n jälkeen.

    • nuubi

      Merkkijonoa verrataan .equals() tai .matches()

    • String-luokassa on myös equalsIgnoreCase, joka jättää isot ja pienet kirjaimet huomiotta, sama kumpi on. Lisäksi esimerkissäsi et kasvata for-silmukoissa x:n ja y:n arvoja jostain syystä. Käy koko matriisi läpi. Ja tarkista, että currentLevel on String-taulukko. Alustuksen pitäisi olla tämä: String[][] currentLevel = new String[15][20];

      Lisäksi oletko sijoittanut hakemaasi matriisin alkioon jonkin merkkijonon, vai tuleeko NullPointerException. Debuggaa koodi, ja tarkista arvot joka kierroksella. Kyllä se ratkeaa siitä.

    • Vika_for_loopissa

      Pitää suurentaa muuttujia joka kierroksella x ja y .

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

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7453
    2. 83
      5082
    3. Se on hyvästi

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

      Hyvä. Rakastan sua.
      Ikävä
      132
      4278
    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
      40
      2616
    8. Kerro nyt rehellisesti fiilikset?

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

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      10
      2231
    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
      1850
    Aihe