Tehtävä

En ymmärrä

Voisiko joku hieman auttaa. olen tehnyt tätä tehtävää jo pitkään ja ratkaisusta ei ole tietoakaan!

Alla olevan ohjelman on tarkoitus laskea komentorivillä annetut peruslaskutoimitukset. Sinun tehtävänäsi on kirjoittaa puuttuva Laskin luokka. Sinun tarvitsee toteuttaa ohjelmassa vain yhteen- ja vähennyslasku. Java-ohjelma suoritetaan siis esimerkiksi komennolla: java Komentorivilaskin 4 6 5 - 5. Sinun ei tarvitse käsitellä virhetilanteita, joten voit olettaa, että käyttäjä suorittaa ohjelman aina oikealla tavalla. Oikealla tavalla annetussa laskutoimituksessa joka toinen merkki on numero ja joka toinen merkki on operaattori( tai -). Numerot ja operaattorit ovat eroteltuina toisistaan välilyönneillä, joten jokainen laskussa oleva merkki tallentuu omana komentoriviparametrina. Ohjelman pitää tulostaa laskutoimitus sekä laskun tulos esimerkkitulosteen mukaisesti.

Täydennettävä ohjelma:

import java.util.Scanner;

class Komentorivilaskin {
public static void main(String [] args) {
int pituus = args.length;

if (pituus < 3)
System.out.println("Et antanut mitään laskutoimitusta!");
else if (pituus % 2 == 0)
System.out.println("Annoit virheellisen määrän komentoriviparametreja.");
else {
Laskin laskuri = new Laskin();
laskuri.laske(args);
}
}
}

// Tähän tulee luokka Laskin

Vihje: Jotta voit suorittaa laskuja komentorivillä annettuilla luvuilla, parametrit pitää tallentaa kokonaisluvuiksi komennolla: luku = Integer.parseInt(args[parametrin_indeksi]);

Huom! Tässä tehtävässä ratkaisu on osa käännösyksikköä, jossa on määritelty useita luokkia. Tästä syystä ratkaisussa luokkia ei määritellä julkiseksi public-määreellä.
Esimerkkitulostus

Laskun 4 6 5 - 5 tulos on 10

2

572

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tai osa sitä

      itse tarvitsin apua tässä tehtävässä, onneksi ope auttoi

      "minun" ratkaisu, tai osa sitä, miten lasketaan lukujen summa


      for (int i=1; i < arg.length; i=i 2){
      oper = arg[i].charAt(0);
      luku = Integer.parseInt(arg[i 1]);
      if (oper == ' ')summa = summa luku;
      else if (oper == '-')summa = summa - luku;
      }

    • Skibab

      Tuhottoman vanha ketju, mutta tässä mun ratkaisu.

      class Laskin {

      public void laske(String[] args) {

      int summa = 0;
      System.out.print("Laskun");

      for (int i = 0; i < args.length; i) {

      if (i == args.length-1) {
      System.out.print(" " args[i]);
      }
      else if (args[i 1].equals("-") && i == 0) {
      summa = Integer.parseInt(args[0]);
      System.out.print(" " args[i]);
      summa -= Integer.parseInt(args[i 2]);
      }
      else if (args[i 1].equals(" ") && i == 0) {
      summa = Integer.parseInt(args[0]);
      System.out.print(" " args[i]);
      summa = Integer.parseInt(args[i 2]);
      }
      else {
      if (args[i 1].equals(" ") && !(args[i].equals(args.length))) {
      summa = Integer.parseInt(args[i 2]);
      System.out.print(" " args[i]);
      }
      else if (args[i 1].equals("-") && !(args[i].equals(args.length))) {
      summa -= Integer.parseInt(args[i 2]);
      System.out.print(" " args[i]);
      }
      else {
      System.out.print(" " args[i]);
      }
      }
      }

      System.out.print(" tulos on " summa);

      }
      }

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

    Luetuimmat keskustelut

    1. Janne Ahonen E R O A A

      Taas 2 lasta jää vaille ehjää perhettä!
      Kotimaiset julkkisjuorut
      147
      2609
    2. En kai koskaan saa sinua

      Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k
      Ikävä
      154
      1659
    3. Terveystalon lääkärit ylilaskuttaneet

      Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K
      Maailman menoa
      134
      1634
    4. Saran ökytyyli käänsi katseita.

      On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.
      Kotimaiset julkkisjuorut
      149
      1368
    5. Nyt on aika laittaa parit selkoon.

      Onko pareja täällä. Laita kirjaimet kuka tykkää kenestäkin ?
      Ikävä
      66
      1338
    6. The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."

      Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut
      Tv-sarjat
      13
      1180
    7. Työttömille lusmuille luvassa lisää keppiä

      Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall
      Maailman menoa
      284
      1174
    8. Ootko huomannut miten

      pursuat joka puolelta. Sille joka luulee itsestään liikoja 🫵🙋🏻‍♂️
      Ikävä
      156
      976
    9. Miksi ihmeessä?

      Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek
      Ateismi
      22
      934
    10. Tiedän kaiken sinusta ja kaikesta

      Tiedän miten kärsit. Tiedän millanen oikeesti oot. Tiedän miksi valehtelit, tiedän miksi satutit mua. Tiedän mitä tapaht
      Ikävä
      58
      889
    Aihe