All pastes #374179 Raw Edit

Anonymous

public text v1 · immutable
#374179 ·published 2007-02-27 10:36 UTC
rendered paste body
public class ArvausJono {
	private char[] merkit;
	private boolean[] tunnettu;
   
    public ArvausJono(String mjono) {
       	// otetaan talteen merkkijonon pituus (merkkien määrä)
    	int length = mjono.length();   
    	// tehdään tyhjät taulukot merkkijonon pituisiksi   
    	char[] merkit = new char[length];
    	boolean[] tunnettu = new boolean[length];
           
    	// alustetaan taulukoiden arvot  
    	for (int i = 0; i < length; i++) {
     		merkit[i] = 0; // tätä ei välttämättä tarvitse, pitäisi olla nollia  
    		tunnettu[i] = false; // periaatteessa myös boolean on false ilman alustusta, mutta selkeämpää alustaa kaikki taulukota, niin tietää ainakin mitä niissä on
  
    	}
  
    } 
    
    public boolean loytyy(char kirjain) {
    	int i;

        boolean loytyy = false;
    	
    	if (this.merkit.length > 0) {
    		
    		for (i = 0; i < this.merkit.length; i++) {
    			if (kirjain == this.merkit[i] && this.tunnettu[i] == false) {
    				this.merkit[i] = kirjain;
    				this.tunnettu[i] = true;
    				// ei lopeteta (return) vielä tässä, vaan merkataan loytyy-muuttujaan, että kirjaimia on löytynyt, jotta kaikki voidaan merkata
                                loytyy = true;
    			}
                        // Tässä ei saa olla else-lohkoa, eikä pidä palata, vaan koko merkkijono pitää käydä läpi aina
    		}
    		
    	}

        return loytyy;
    }
    
    public boolean kaikkiLoydetty() {
    	boolean kaikki;
    	int i;

        // Tässä oli enemmänkin häikkää
        // Ideana on käydä kaikki kirjaimet läpi
        // ja palauttaa false heti kun yksikin kirjain on löytämättä eli tunnettu[i] == false
        // Jos falseja ei löydy, kaikki on löydetty ja voidaan palauttaa true
    	
    	String mjono = null;
	for (i = 0; i <= (mjono.length() - 1); i++) {
    		if (this.tunnettu[i] == false) {
    		  return false; // loppuja ei tarvitse testata, kun kaikkia ei jokatapauksessa ole nyt löydetty
    		}
        }

        return true; // Yhtään falsea ei ollut, kaikki löydetty
    }
    
}