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

723

    Vastaukset 2

    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. Herkkyydestä

      Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l
      Sinkut
      298
      1026
    2. Arvaako kukaan?

      "Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni
      Haapavesi
      61
      827
    3. Yli 3 Vuotta sinä jaksoit

      ja yrititit ottaa selvää minusta. Aika hämmästyttävää. Naiselle.
      Ikävä
      66
      752
    4. Okei, eli olet rakastunut

      Hyvä sinä, niin minäkin.
      Ikävä
      67
      691
    5. Mikä minussa sitten

      Kiihottaa enemmän kuin muissa?
      Ikävä
      69
      684
    6. Tuntuu pahalta meidän molempien puolesta

      Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et
      Ikävä
      39
      658
    7. Onko meillä

      Kaikki hyvin? 🤨 Miehelle
      Ikävä
      43
      560
    8. Olen kiinnostunut sinusta, en seksistä

      Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona
      Ikävä
      33
      556
    9. Mies.. rehellisesti

      Mitä haluat nyt sun elämään?
      Ikävä
      48
      497
    10. Taidan lähettää kaveripyynnön

      Sulle nainen. Otan vaan rohkaisuryypyn ensin.
      Ikävä
      40
      495
    Aihe