MOOC tehtävä 24 mättää!

Ei vaan osaa

Mikä tässä koodissa mättää kun MOOC tarkistus antaa vain 88% pisteistä.
Ulos tulee virhe: Komennon ratkaise sammuta, tulee ohjata robotti työntämään laatikko kohdealueelle. Eli mitä se tarkoittaa?
-------------------------------------------------------------------------------------------------------

import java.util.Scanner;
import robotti.Ohjain;

public class Paaohjelma {

public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);

Ohjain.asetaLaatikkoSatunnaisesti();
Ohjain.kaynnista();

// kertoo robotin x- ja y-koordinaatit
int robottiX = Ohjain.robottiX();
int robottiY = Ohjain.robottiY();

// kertoo laatikon x- ja y-koordinaatit
int laatikkoX = Ohjain.laatikkoX();
int laatikkoY = Ohjain.laatikkoY();

// kertoo rahtialueen x- ja y-koordinaatit
int tavoiteX = Ohjain.tavoiteX();
int tavoiteY = Ohjain.tavoiteY();

while (true) {
System.out.print("Komento (sammuta, vasen, oikea, liiku, liikuMonta, ratkaise): ");
String komento = lukija.nextLine();
if (komento.equals("sammuta")) {
Ohjain.sammuta();
break;

} else if (komento.equals("vasen")) {
Ohjain.vasen();

} else if (komento.equals("oikea")) {
Ohjain.oikea();

} else if (komento.equals("liiku")) {
Ohjain.liiku();

} else if (komento.equals("liikuMonta")) {
System.out.print("Kuinka monta askelta: ");
int askel = Integer.parseInt(lukija.nextLine());
Ohjain.liikuMonta(askel);

} else if (komento.equals("ratkaise")) {
Ohjain.vasen();

int laatikolleY = laatikkoY - robottiY;
int laatikolleX = laatikkoX - robottiX;
int tavoitteelleY = tavoiteY - laatikkoY;
int tavoitteelleX = tavoiteX - laatikkoX - 1;

Ohjain.liikuMonta(laatikolleY);
Ohjain.oikea();
Ohjain.liikuMonta(laatikolleX);
Ohjain.liikuMonta(tavoitteelleX);

Ohjain.vasen();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liiku();
Ohjain.oikea();
Ohjain.liikuMonta(tavoitteelleY);
Ohjain.liiku();
Ohjain.liikuMonta(tavoitteelleX);

}
}
}
}

10

2046

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • paakalloohjelma

      Muistuttaa aika paljon C-kieltä JAVA kyllä, tiedän erään ammattikorkean yliopettajan joka tietäisi noista, itse en JAVA:a en juurikaan tunne, C:tä sekä Assemblyä kyllä.

      Muuta funktion nimeksi "Paakalloohjelma"

    • Javaw

      Sulla on break-lause tossa ekassa if-lauseessa, jolloin metodin suoritus loppuu.

      Break vain switch...caseihin ja looppeihin.

      • 3Timo

        Ja en nyt me varmaks sanomaan, mut yleensä hyviin btapoihin kuuluu alustaa muuttujat (yleensä nollaks) ennenkuin niitä aletaan käyttämään? Nythän tossa pelkästään luetaan noi robotin ajurin antamat koordinaatit, jotka voi alkutilanteessaan olla ihan mitä tahansa!?


    • aloittelija

      Vastaus tulee hiukan myöhässä. Itsekkin jonkun aikaa tehtävää pähkäilin, mutta kokeile tuolla (ellet jo ole ratkaisua keksinyt) :

      // Robotin ohjaus
      int laatikolleY = laatikkoY - robottiY;
      int laatikolleX = laatikkoX - robottiX;
      int tavoitteelleY = laatikkoY - tavoiteY;
      int tavoitteelleX = tavoiteX - laatikkoX;

      Ohjain.vasen();
      Ohjain.liikuMonta(laatikolleY);
      Ohjain.oikea();
      Ohjain.liikuMonta(laatikolleX);
      Ohjain.liikuMonta(tavoitteelleX - 1);
      Ohjain.vasen();
      Ohjain.liiku();
      Ohjain.oikea();
      Ohjain.liiku();
      Ohjain.oikea();
      Ohjain.liikuMonta(tavoitteelleY);

      • Koodaajaksiko

        Ei toimi näin, sillä jos robotti lähtee vierestä, niin se tekee saman kaavan ylempänä. Tämä tehtävä on vaikea...


    • poweruser

      ei vitun takkutukka

    • ayyadf

      Onko kellää 100% koodia?

    • ystävällinen_herrasmies
    • jolan
      • close

        Tuo oli ihan hyvä yritys, mutta ei kuitenkaan oikea vastaus. Vaikka järjestelmä sen hyväksyisikin niin tehtävänannossa on sanottu, että "Komennon "ratkaise" tulee toimia myös silloin, kun se annetaan komennon "viereen" jälkeen.", jota tämä kyseisen koodi ei toteuta.


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

    Luetuimmat keskustelut

    1. Persujen mukaan rasismi on huumoria

      Vaan kun koomikko kutsui Halla-ahoa fasistiksi, niin piti haastaa oikeuteen. Mihin se huumorinitaju yhtäkkiä hävisi? ⠀
      Maailman menoa
      323
      6983
    2. Rasismia kaikkialla näkevät ovat Suomen tyhmimpiä ihmisiä

      ja monillahan kuluu myös mielialalääkkeitä, eli päässä on ongelmia. Mutta he eivät tajua kuinka paljon ja ihan todellis
      Maailman menoa
      274
      6488
    3. Ei kahta sanaa etteikö Petteri Orpo hyväksy rasismia

      Koska jatkaa hallituksessa rasistisen perussuomalaisiksi itseään kutsuvan puolueen kanssa. Se on Petteri Orpon arvomaai
      Maailman menoa
      48
      5760
    4. Mitkäs nuorisoporukat ovat toisia nuoria ryöstelleet (selvää rassismia)

      No poliisi kertoo, että maahanmuuttajataustaisia ovat, ja isot porukat sillä yhden suomalaisen uhrin kimpussa on ollut j
      Maailman menoa
      163
      5138
    5. Pitkän linjan yritysjohtaja: Suomen tapahtumat eivät ole Aasian kärkiuutinen

      Viimeaikaista kohua on käytetty sisäpoliittisena lyömäaseena, Thomas Zilliacus sanoo. – Koska asiaa kuitenkin kommentoi
      Maailman menoa
      54
      3969
    6. Hallitus on kaadettava ja Orpon on erottava

      Mikään muu hallitus ei ole oman elämäni aikana tuhonnut näin paljon tämän maan taloutta ja työllisyyttä sekä suomen main
      Maailman menoa
      276
      3956
    7. Lasse Lehtonen vaatii persuja pyytämään anteeksi aasialaisilta

      Persut ova romahduttaneet Suomen maakuvan parissa päivässä negatiiviseksi rasismillaan ja se alkaa vaikuttamaan jo Suome
      Maailman menoa
      143
      3559
    8. Demarit ovat oikeasti törppöjä eli heikkoälyisiä

      ja todistavat sitä päivittäin täällä lapsellisilla jutuillaan. Kauheasti on hehkuttaneet kuinka demarien kannatus vaan
      Maailman menoa
      27
      3272
    9. Perussuomalaiset eivät harrasta maalittamista kuten vasemmisto

      Huomaa tässä keinotekoisessa "rasismi"-kohussakin kuinka vasemmistolaiset maalittavat Perussuomalaisia. Me emme vastaava
      Maailman menoa
      3
      3270
    10. HS 12/25 kysely: persut romahti, demarit raketoi

      Kyyti on kylmää persuleirissä, saattaa vetää siellä silmätkin viirulleen. Sen sijaan SDP:n puoluetoimistolla voidaan pok
      Maailman menoa
      50
      3211
    Aihe