Voisko joku kattoo tän ohjelman että onko tää oikeaoppisesti ohjelmoitu.
public class Luokka { public static void main(String[] args) { Luku luku = new Luku(); Tallennus tallennus = new Tallennus(); System.out.println("Syötä kymmenen numeroa 1-3"); for(int counter = 0; counter < 10; counter++){ System.out.print(counter + 1 + ". "); luku.otaJaTarkistaLuku(); int x = luku.getLuku(); tallennus.tallennaLuku(x); } System.out.println("Syötit eniten numeroa: "); Vertaa vertaa = new Vertaa(tallennus.getMuistiYksi(),tallennus.getMuistiKaksi(),tallennus.getMuistiKolme()); System.out.println(vertaa.vartailu()); } }
import java.util.Scanner; public class Luku { private Scanner scan; private int luku; public Luku(){ } public void otaJaTarkistaLuku(){ while(true){ this.scan = new Scanner(System.in); try{ this.luku = this.scan.nextInt(); }catch(Exception e){ System.out.println("Et syöttänyt kunnollista numeroa!"); continue; } if(this.luku < 1 || this.luku > 3){ continue; } break; } } public int getLuku(){ return this.luku; } }
public class Tallennus { private int muistiYksi = 0; private int muistiKaksi = 0; private int muistiKolme = 0; public void tallennaLuku(int luku){ int tallennettava = luku; switch(tallennettava){ case 1: this.muistiYksi++; break; case 2: this.muistiKaksi++; break; case 3: this.muistiKolme++; break; } } public int getMuistiYksi(){ return this.muistiYksi; } public int getMuistiKaksi(){ return this.muistiKaksi; } public int getMuistiKolme(){ return this.muistiKolme; } }
public class Vertaa { int eka; int toka; int kolmas; public Vertaa(int eka, int toka, int kolmas){ this.eka = eka; this.toka = toka; this.kolmas = kolmas; } public int vartailu(){ if(toka > eka || kolmas > eka){ if(toka > kolmas){ return 2; }else{ return 3; } } return 1; } }
Ei ole. Keskeisin aivojani syövyttävä ominaisuus on noi samanarvoiset erilliset muuttujat jotka olisi järkevämpää laittaa taulukoksi. Koko tallennusluokka on periaatteessa turha, koska int[3] ajaa saman asian.
Jos kuitenkin haluat tehdä oman taulukkoluokan niin käytä sen sisällä taulukkoa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.