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

613

    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. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      65
      1433
    2. Perusmuotoiset TV-lähetykset loppu

      Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia
      Apua aloittelijalle
      109
      875
    3. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      47
      734
    4. No ei sun asunto eikä mikään

      muukaan sussa ole erikoista. 🤣 köyhä 🤣
      Ikävä
      57
      724
    5. Mitä mietit Honey?

      Kulta nainen ❤️❤️
      Ikävä
      57
      700
    6. Missä kaikessa olet erilainen

      Kuin kaivattusi? Voin itse aloittaa: en ole vegaani kuten hän. Enkä harrasta tietokonepelejä lainkaan.
      Ikävä
      39
      687
    7. Linnasuolla poliisi operaatio

      Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/8646060
      Imatra
      25
      655
    8. Uskomaton tekninen vaaliliitto poimii rusinoita pullasta

      Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli
      Pyhäjärvi
      66
      643
    9. Hyvin. Ikävää nainen,

      Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan
      Ikävä
      69
      641
    10. Katsoin mies itseäni rehellisesti peiliin

      Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.
      Ikävä
      41
      637
    Aihe