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]