Anagrammbestimmung

S

Spellsleeper

Gast
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?;(
Java:
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

Mitglied
finde es so viel simpler:

Java:
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);
  
}
 
Zuletzt bearbeitet:

XHelp

Top Contributor
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
 
S

Spellsleeper

Gast
finde es so viel simpler:

Java:
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);
  
}

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

Neue Themen


Oben