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;
}
}
}
}
Ei toimi vaikka pitäisi
7
168
Vastaukset
- ööp
Kokeile .equals()
- pcmuseo
Onko S merkkijono vai merkki?
0x53,0x00 != 0x53
Eli pitäisikö verrata 'S' ?
http://docs.oracle.com/javase/tutorial/java/data/characters.html - 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
- 477735
- 334283
- 573765
- 503220
- 172906
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons692636- 642518
- 582469
- 402349
- 162306