Seuraa 
Viestejä30
Liittynyt30.1.2012

ELi suoritan ohjelmoinnin jatkokurssia (nipin napin pääsin perusteet-kurssista läpi), mutta nyt tuli jo heti kertausvaiheessa ongelma, jota en osaa selättätä. Minun pitäisi luoda Scanner-oliolle oma luokka Lukija, hyödyntää sitä Laskin-luokassa (jossa on metodi summa ja käynnistä) ja sitten main:ssä testata ohjelmaa. Voisiko joku kertoa mitä kaikkea mun koodissa on pielessä? Olisin super kiitollinen!

 

Laskimen pitää toimia näin:

public classPaaohjelma {
public static void main(String[] args) {
Laskinlaskin = new Laskin();
laskin.kaynnista();
}
}
komento: summa
luku1: 4
luku2: 6
lukujen summa 10

Tässä mun Lukija-luokka:

import java.util.Scanner;

public class Lukija {
    private Scanner lukija;
   
    public Lukija(){
     
    this.lukija=new Scanner(System.in);

}
 
    public String lueMerkkijono(){
  
        return lukija.nextLine();
   
    }
     public int lueKokonaisluku(){
  
    
     return Integer.parseInt(lukija.nextLine());
     } 
   
  
}

ja Laskin-luokka. En ole laittanut tähän metodeja tulo, erotus ja statistiikka, koska tosta pitäis näkyä se ongelma varmaan jo?

public class Laskin {
    private int laskutYht;
    private Lukija lukija;
  
    public Laskin() {
      Lukija lukija=new Lukija();
     
        this.laskutYht=0;
    }
    public void kaynnista() {
        while (true) {
            System.out.print("komento: ");
            String komento = lukija.lueMerkkijono();
            if (komento.equals("lopetus")) {
                break;
            }
     
            if (komento.equals("summa")) {
                summa();
            } else if (komento.equals("erotus")) {
                erotus();
            } else if (komento.equals("tulo")) {
                tulo();
            }
            else {
                return;}
        }

        statistiikka();

    }
   
    private void summa(){
        laskutYht++;
        System.out.println("Luku1: ");
        int luku1=lukija.lueKokonaisluku();
        System.out.println("Luku2: ");
         int luku2=lukija.lueKokonaisluku();
        
         System.out.println("Lukujen summa on "+(luku1+luku2));
    }

}

Kommentit (3)

inndda
Seuraa 
Viestejä30
Liittynyt30.1.2012

Joo niin tulee. En varmaan ole ihan sisäistänyt tätä ajatusta, mutta ohjeissa sanottiin "Lisää laskimelle oliomuuttuja jonka tyyppi on Lukija, ja luo lukija konstruktorissa."

 

Ymmärsin tuon niin, että Lukija-konstruktorissa pitää luoda uusi Lukija olio? Äh, ei pitäis ottaa valinnaisia kursseja muisat tiedekunnista kun ei aivot riitä :D

Suosituimmat

Uusimmat

Uusimmat

Suosituimmat