Auf Thema antworten

Ganze Programm

[code=Java]

int wortlänge;

    String wort=" ";

    int wortanzahl;

    String wortArray[]=new String[5];

    int abstand=0;

    ArrayList<Integer> abstandArray=new ArrayList();

   

    public HammingAbstand(int wortlänge,String wort){

        this.wortlänge=wortlänge;   

        this.wort = wort;

        abstand=abstand;

    }

   

    public void array(){

        Scanner scan=new Scanner(System.in);

        for(int i=0;i<wortArray.length;i++){

           

            wortArray[i]=scan.next();}

        print(wortArray);

    }

    public String[] getArray(){

        return wortArray;

    }

    public void alleWörter(){

   

        try{

//        String wortArray []={"111","100","010","000","011"};   

       

        array();

        wortArray=getArray();

   

        for(int i=0; i<wortArray.length;i++){

            for(int j=i+1;j<wortArray.length;j++){           

            hammingAbstand(wortArray[i],wortArray[j]);

            abstandArray.add(abstand());

            }       

        }

        }catch (Exception e){

            System.out.println("**Fehler auftreten**");

            System.out.println("Ursache 1: "+e.getMessage());

        }

//        System.out.println(abstandArray);   

       

    }

   

    public void kleinsteAbstand(){

        alleWörter();

        int x=abstandArray.get(0);

        int y=0;

        int n=1;

        while (n<abstandArray.size()){

            if(abstandArray.get(n)<x)

                x=abstandArray.get(n);

            n++;       

           

        }

        System.out.println("x:  "+x);

    }

     private  void print(String[] wortArray2) {                   

            for (int i=0;i<wortArray2.length;i++) {

                      

            System.out.print(wortArray2[i] + "\t");

                }

            System.out.println();

           

           

      }

    public void hammingAbstand(String wort2,String wort){

        int count=0;   

        try {

           

            if(wort.length()< wortlänge || wort.length()>wortlänge){

                 System.out.println("*Falsche Wortlänge: "+new Exception().toString());

                 return;

            }

           

            if(wort.length()== wortlänge){

                for(int i=0; i <=wort.length()-1;i++){

                    if(Integer.parseInt(wort.substring(i,i+1))!=0  && Integer.parseInt(wort.substring(i,i+1))!=1){

                    System.out.println("ungültig");

                    }   

                }

            }

   

           

        }catch(NumberFormatException e){

             System.out.println("*Fehler aufgetreten*");

             System.out.println("Ursache: "+e.toString());

             e.getStackTrace();

             return;

        }

       

   

        for(int i=0;i<=wort.length()-1;i++){

            if(wort.charAt(i)!=wort2.charAt(i)){

                count++;   

            }       

        }

//        System.out.print("Abstand:" + count);   

        abstand=count;

    }

   

    public int abstand(){

        return abstand;

    }

   

    public static void main(String args[]){

        HammingAbstand hamming=new HammingAbstand(3,"000");

//        System.out.println(hamming.wort);

//        hamming.wort="101";

//        HammingAbstand hamming1=new HammingAbstand(3,"111");

//        hamming.hammingAbstand(hamming1.wort,hamming.wort);

//        hamming.hammingAbstand("101");

//        System.out.println(hamming.abstand());

       

        hamming.alleWörter();

//        hamming.abstand();

//        hamming.alleWörter();

        hamming.kleinsteAbstand();

//        hamming.array();


//        hamming.array();

//        System.out.println(hamming.getArray());

   

    }


}

[/code]



Oben