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

548

    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. Kyllä tiedän että ajattelet

      Niin ajattelen minäkin. Sinulla tuskin on yhtään sen helpompi olla kuin minullakaan tällä hetkellä.. Toisaalta ehkä tä
      Ikävä
      19
      6818
    2. Hyvää yötä S******

      Ja parempaa uutta vuotta 😉
      Ikävä
      5
      1064
    3. Martina, yksityishenkilön ex vihaa häntä

      Seiska ja IL kirjoittaa, että yksityishenkilön ex on veemäinen ja vihaa Martinaa. Onneksi ex on 13000 km päässä.
      Kotimaiset julkkisjuorut
      192
      937
    4. Odotatko sä

      Ensi vuotta ja sitä että näet kaivattua?
      Ikävä
      36
      878
    5. YlE aloitti sateenkaari messuilla kirkkovuoden

      Siinä kirkon luopumus paljaimmillaan.
      Luterilaisuus
      279
      862
    6. Parempaa uutta

      vuotta dear. Kun vuosi vaihtuu, olet ensimmäisenä mielessäni. Uusi vuosi ei pyyhi pois vanhan vuoden tunteita.
      Ikävä
      47
      851
    7. Ensi vuonna

      Toivon että meistä tulee vähintään ystäviä. Olemme samankaltaisia ja ymmärrämme toisiamme. Haluaisin oppia tuntemaan sin
      Ikävä
      20
      791
    8. Yksi elämän pahimmista virheistä

      Olla tekemättä mitään, jos on jostakin oikeasti kiinnostunut ja jää vain miettimään, sekä kaipaamaan. Sekin parempi, jo
      Ikävä
      28
      778
    9. Vietätkö uuden

      Vuoden miten tai kenen kanssa?
      Ikävä
      63
      762
    10. Ikävän väkivaltaiseksi mennyt Kannuksessa,.

      Meno Monossa, , kesken rauhallisen illan , entinen portsari tulee vetään tuntematonta asiakasta turpaan. Räyhää ja haa
      Kannus
      36
      756
    Aihe