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

695

    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. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      98
      6128
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      349
      5565
    3. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      52
      2639
    4. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      104
      2036
    5. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      107
      1758
    6. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      114
      1621
    7. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      19
      1593
    8. Tytti Tuppurainen nöyryyttää avustajiaan

      Tytti Tuppurainen nöyryyttää SDP:n eduskuntaryhmän kokouksissa sekä avustajia että kansanedustajia. Hän nolaa ihmisiä ju
      Kotimaiset julkkisjuorut
      180
      1267
    9. On todella hassua

      Ajatella että pitäisit erityisen kuumana tai seksikkäänä?
      Ikävä
      73
      1167
    10. Nuoret hakevat eläkkeelle, vaikka eivät ole olleet vielä töissäkään

      hyvin menee. Pieni vastoinkäyminen elämässä, ja heti masennutaan. Monet alle 30-vuotiaat hakevat työkyvyttömyyseläkettä
      Maailman menoa
      188
      988
    Aihe