# Anagrammbestimmung



## Spellsleeper (31. Mrz 2011)

Hi,
ich soll ein Program schreiben das 2 Strings auf gleichen Zeicheninhalt überprüft!
Eben ob es Anagramme sind!
Irgendwo in meinem bisherigen Program hab ich den totalen Bock geschossen
und ich kann und kann den Fehler nicht finden.
Kann mir jemand helfen?;(

```
package ÜbungKlausurNr3;
import javax.swing.*;


public class Aufgabe7 {
	
	public static void main(String[] args) {
	String a=JOptionPane.showInputDialog("Erstes Wort angeben!");
	String b=JOptionPane.showInputDialog("Zweites Wort angeben!");
	boolean anagramm;
	isAnagramm(a,b);
	
		
		
	}
	public static void isAnagramm(String a,String b){
	a=a.toLowerCase().trim();
	b=b.toLowerCase().trim();
	boolean anagramm=true;
	for(int i=0;i<a.length();i++){
	if(b.contains(a.substring(i, i))){
		anagramm=true;
		a.replace(a.substring(i, i)," ");
		b.replaceFirst(a.substring(i, i)," ");
		
	}else{anagramm=false;
			break;
	}
			
		}b=b.trim();
		if(!b.equals("")){
			anagramm=false;}
		if(anagramm==true){
			System.out.println("Dies ist ein Anagramm!");}
		else{System.out.println("Dies ist kein Anagramm!");}
		
		}
	}
```


----------



## BigBiber89 (1. Apr 2011)

finde es so viel simpler:


```
public static boolean isAnagramm(String a,String b){

char[] temp = a.toLowerCase().toCharArray();
char[] temp2= b.toLowerCase().toCharArray();

Arrays.sort(temp);
Arrays.sort(temp2);

return Arrays.equals(temp, temp2);
  
}
```


----------



## XHelp (1. Apr 2011)

Was funktion denn nicht?

Einfacher ist es die Wörter zu jeweils einem char-Array umzuwandeln, diesen sortieren und dann einfach nur positionsweise zu vergleichen


----------



## Spellsleeper (1. Apr 2011)

BigBiber89 hat gesagt.:


> finde es so viel simpler:
> 
> 
> ```
> ...



:applaus:
Danke, das .sort hat mir gefehlt!


----------



## XHelp (1. Apr 2011)

In Zeile 3 und 4 sollte ggf noch 
	
	
	
	





```
replaceAll("\\ +", "")
```
 untergebracht werden


----------

