Zeichen vergleichen

V

Vfl1848Bochum

Gast
Hallo Java Forum!!

Ich habe ein Problem mit folgender Aufgabenstellung:

Schreiben Sie ein Java-Programm, dass 2 Wörter von der Konsole entgegen nimmt und dann die Anzahl der Buchstaben, die in beiden Wörtern vorkommen, auf der Konsole ausgibt.

Beispiel:
Eingabe1: Technik
Eingabe2: Wissenschaft
Ausgabe: 3 // gemeinsame Buchstaben t, e, n


Ich weiß nicht wie das gehen soll und hoffe ihr wisst wie's geht!

Danke
 
V

Vfl1848Bochum

Gast
Ja Groß-Kleinschreibung ist irrelevant

Die Die Buchstaben behören auch dazu.

Beispiel:
Eingabe1: Technik
Eingabe2: Wissenschaft
Ausgabe: 6 // gemeinsame Buchstaben t, e, c, h , n, i

Jetzt müsste es stimmen
 

nickname

Bekanntes Mitglied
und mit 's' und 'f' ??

da bietet sich die Methode "length" an.

String s = "Hallo meine Name ist Hase";
int i = s.length();
System.out.println("" + i)
Ausgabe ist "selber ausprobieren"


gruß nickname
 
V

Vfl1848Bochum

Gast
da bietet sich die Methode "length" an.

String s = "Hallo meine Name ist Hase";
int i = s.length();
System.out.println("" + i)
Ausgabe ist "selber ausprobieren"

Bei deinem Vorschlag gibt er mir doch jetzt die länge des Strings aus!?
es sollen aber 2 Eingaben getätigt werden und dann miteinander verglichen werden. die Buchstaben die in beiden eingaben vorhanden waren sollen ausgegeben werden. Es soll auch die anzahl der Buchstaben ausgegeben werden.

Gruß
 
A

ABCDEFG

Gast
Prüf erstmal welches Wort "kleiner" ist.
Und dann in der for-Schleife. Nimmste jeden Buchstaben des "kleineren" Wortes und prüfst mit der contains Methode ob der Buchstabe in dem anderen Wort vorkommt. Wenn ja, erhöhst du irgendeine ganzzahl Variable um 1 und fügt das Zeichen/den Buchstaben z.B einem StringBuilder hinzu.
 

nickname

Bekanntes Mitglied
:oops: hä, man sollte doch immer genauer die Aufgabenstellung lesen... pfeif... das hat mich mal eine Note gekostet...:rtfm:


gruß nickname
 

Mujahiddin

Top Contributor
Java:
String s = "Wissenschaft";
String f = "Technik";
String[] s1 = new String[s.length()];
String[] f1 = new String[f.length()];
String gleicheBuchstaben = "";
for(int i=0; i<s.length(); i++)
{
   s1[i] = Character.toString(s.charAt(i));
}
for(int i=0; i<f.length(); i++)
{
   f1[i] = Character.toString(f.charAt(i));
}
for(int i=0; i<s1.length; i++)
{
   for(int j=0; j<f1.length; j++)
   {
      if(s1[i].contentEquals(f1[j]))
      {
          gleicheBuchstaben = gleicheBuchstaben + ", " + f1[j];
      }
   }
}
System.out.println("Ausgabe 1: " + s);
System.out.println("Ausgabe 2: " + f);
System.out.println("Gleiche Buchstaben: " + gleicheBuchstaben);
System.out.println("Anzahl gleicher Buchstaben: " + gleicheBuchstaben.length());
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Java:
String s = "Wissenschaft";
String f = "Technik";
String[] s1 = new String[s.length()];
String[] f1 = new String[f.length()];
String gleicheBuchstaben = "";
for(int i=0; i<s.length(); i++)
{
   s1[i] = Character.toString(s.charAt(i));
}
for(int i=0; i<f.length(); i++)
{
   f1[i] = Character.toString(f.charAt(i));
}
for(int i=0; i<s1.length; i++)
{
   for(int j=0; j<f1.length; j++)
   {
      if(s1[i].contentEquals(f1[j]))
      {
          gleicheBuchstaben = gleicheBuchstaben + ", " + f1[j];
      }
   }
}
System.out.println("Ausgabe 1: " + s);
System.out.println("Ausgabe 2: " + f);
System.out.println("Gleiche Buchstaben: " + gleicheBuchstaben);
System.out.println("Anzahl gleicher Buchstaben: " + gleicheBuchstaben.length());

Also, mal davon abgesehen, dass dies nicht korrekt funktioniert und der TO sicherlich nichts davon hat, eine Komplettlösung zu veröffentlichen, geht das auch einfacher :D

Mal ne Nebenfrage: Sollen die Buchstaben dann eig. sortiert ausgegeben werden?
 
V

Vfl1848Bochum

Gast
Das gibt Eclipse aus:

Ausgabe 1: Wissenschaft
Ausgabe 2: Technik
Gleiche Buchstaben: iench
Anzahl gleicher Buchstaben: 5


Da fehlt aber das "t"

Trotz dem Danke
 

Mujahiddin

Top Contributor
^^ Okay, war fehlerhaft, habs grad in Eclipse eingegeben.

Java:
public class Buchstabensalat 
{
	public Buchstabensalat()
	{}
	public static void main(String[] args)
	{
		String s = "Wissenschaft";
		String f = "Technik";
		String[] s1 = new String[s.length()];
		String[] f1 = new String[f.length()];
		String gleicheBuchstaben = "";
		int anzahl = 0;
		for(int i=0; i<s.length(); i++)
		{
			s1[i] = Character.toString(s.charAt(i)).toLowerCase();
		}
		for(int i=0; i<f.length(); i++)
		{
			f1[i] = Character.toString(f.charAt(i)).toLowerCase();
		}
		for(int i=0; i<s1.length; i++)
		{
			for(int j=0; j<f1.length; j++)
			{
				if(s1[i].contentEquals(f1[j]))
				{
					if(gleicheBuchstaben.length() == 0)
					{
						gleicheBuchstaben = f1[j];
						anzahl = 1;
					}
					else
					{
						gleicheBuchstaben = gleicheBuchstaben + ", " + f1[j];
						anzahl = anzahl + 1;
					}
					
				}
			}
		}
		System.out.println("Ausgabe 1: " + s);
		System.out.println("Ausgabe 2: " + f);
		System.out.println("Gleiche Buchstaben: " + gleicheBuchstaben);
		System.out.println("Anzahl gleicher Buchstaben: " + anzahl);
	}
}

Das hier müsste klappen.
 

eRaaaa

Top Contributor
Naja, da nun eh schon Lösungen gepostet wurden:
Java:
	String s1 = "Technik".toLowerCase();
	String s2 = "Wissenschaft".toLowerCase();
	StringBuilder sb = new StringBuilder();
	for (int i = 0; i < s1.length(); i++) {
	    for (int j = 0; j < s2.length(); j++) {
		if (s1.charAt(i) == s2.charAt(j)) {
		    sb.append(s1.charAt(i)).append(",");
		}
	    }
	}
	System.out.print(sb.length() / 2 + " gemeinsame Buchstaben ");
	System.out.println(sb);

Bringt dich natürlich nicht weiter, wenn du es selbst nicht versuchst ;/
 

JanHH

Top Contributor
Die Lösung, beide Strings in Schleifen durchzugehen (den einen jeweils pro Zeichen des anderen in der inneren Schleife) ist nicht gerade optimal. Bei zwei Strings mit je 10.000 Zeichen hat man dann 100 Millionen mal das Ausführen des innersten Codeblocks.

Lieber so:

Java:
int[] codes=new int[256];

for(int i=0;i<256;i++)
   codes[i]=0;

for(int i=0;i<s1.length();i++)
   codes[(int)(s1.charAt(i))]++;
for(int i=0;i<s2.length();i++)
   codes[(int)(s2.charAt(i))]++;

int count=0;
for(int i=0;i<256;i++)
   if(codes[i]==2)
      count++;
 

Landei

Top Contributor
Wenn hier einige schon mit char-Arrays hantieren: Man braucht dafür keine Schleife, es gibt eine Methode String.toCharArray().
 

JanHH

Top Contributor
Mein Code funktioniert so aber auch noch nicht, ist mir aufgefallen.. kleine Modifikationen notwendig. Wollte aber auch nur auf den Algorithmus an sich hinweisen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
R Zeichen in String vergleichen Java Basics - Anfänger-Themen 75
I zeichen vergleichen 2 Java Basics - Anfänger-Themen 4
G String vergleichen:Platzhalter für bel. Zeichen Java Basics - Anfänger-Themen 5
D Strings vergleichen, Problem "" Zeichen? Java Basics - Anfänger-Themen 3
T Strings bis zum Zeichen ";" vergleichen! Java Basics - Anfänger-Themen 6
G die ersten Zeichen eines Strings Vergleichen mit String Java Basics - Anfänger-Themen 6
R Jshell unter Windows: Unicode-Zeichen werden als Fragezeichen ausgegeben Java Basics - Anfänger-Themen 5
J Quelltext mit komischen griechischen Zeichen Java Basics - Anfänger-Themen 4
T or zeichen Java Basics - Anfänger-Themen 2
L 4 stelliges Passwort aus bestimmten Zeichen. Java Basics - Anfänger-Themen 27
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
S Was bedeutet das Zeichen := Java Basics - Anfänger-Themen 9
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
S Arrayausgabe und nur einmal ein Zeichen davor Java Basics - Anfänger-Themen 12
johnboyne Java Zeichen Trennen Java Basics - Anfänger-Themen 1
T Zeichen im String verschiebe Java Basics - Anfänger-Themen 17
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
pkm Regexproblem - Wie kann ich zwei oder mehr beliebige Zeichen matchen? Java Basics - Anfänger-Themen 7
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
Dimax Erste Schritte String replace alle Zeichen Java Basics - Anfänger-Themen 10
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
J ObjectOutputStream writeChars, komische Zeichen nur in 1. Zeile Java Basics - Anfänger-Themen 2
H Fehlerausgabe (Ungewollte Zeichen) Java Basics - Anfänger-Themen 1
R Komische Zeichen in Java Java Basics - Anfänger-Themen 5
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
J Vorkommen von Zeichen Java Basics - Anfänger-Themen 44
H Verschiebung von Zeichen Java Basics - Anfänger-Themen 18
O String von vorne nach hinten an einem Zeichen Java Basics - Anfänger-Themen 10
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
L String auf bestimmte zeichen untersuchen Java Basics - Anfänger-Themen 9
D gebe string zurück mit von bis bestimmtes Zeichen Java Basics - Anfänger-Themen 4
L Rekursion größtes Zeichen Java Basics - Anfänger-Themen 8
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
Y String auf allgemein Zeichen untersuchen Java Basics - Anfänger-Themen 3
S String trennen nach beliebigen Zeichen Java Basics - Anfänger-Themen 3
C Zeichen im String bis zu bestimmter Stelle entfernen Java Basics - Anfänger-Themen 6
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
H Zeichen im algorithmus Java Basics - Anfänger-Themen 4
S Das Anführungszeichen(") Zeichen in einen String setzen Java Basics - Anfänger-Themen 1
G Zeichen suchen und Ausgeben. Java Basics - Anfänger-Themen 3
D Input/Output Split am Zeichen | Java Basics - Anfänger-Themen 2
B zeichen eines String mit der kleinsten Frequenz zurückgeben Java Basics - Anfänger-Themen 25
m0n4ch Variablen String auf ungültige Zeichen überprüfen Java Basics - Anfänger-Themen 13
Voreck String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 9
G Gibt es eine Methode die bei einem StringBuilder n mal das Zeichen c hinzufügt? Java Basics - Anfänger-Themen 6
D String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 5
S Zeichen ab Suchstring einlesen Java Basics - Anfänger-Themen 6
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
M Pipe-Zeichen "|" in Java Java Basics - Anfänger-Themen 1
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
F StringBuilder: Zeilenumbruch nach x Zeichen ohne Worttrennung Java Basics - Anfänger-Themen 1
F Zeichen einer Datei zaehlen Java Basics - Anfänger-Themen 1
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
W JTextField-Objekt liest Umlaute mit falschen Zeichen ein Java Basics - Anfänger-Themen 5
G zeichen einer Zeile löschen Java Basics - Anfänger-Themen 4
M problem mit diesem zeichen | Java Basics - Anfänger-Themen 10
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
B lanterna einzelne Zeichen aus dem Terminal löschen Java Basics - Anfänger-Themen 0
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
C Anzahl bestimmter Zeichen in einem String ausgeben Java Basics - Anfänger-Themen 7
I String abschneiden erste und letzte Zeichen Java Basics - Anfänger-Themen 3
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
F Methoden split() - Mehrere Zeichen Java Basics - Anfänger-Themen 5
M Input/Output Text auf Fenster zeichen Java Basics - Anfänger-Themen 2
F In einem String nach einem String suchen und Zeichen danach ausgeben Java Basics - Anfänger-Themen 6
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
Q Erste Schritte Zeichen in String farblich hervorheben Java Basics - Anfänger-Themen 4
U markierten Text auf Zeichen zuvor/danach pruefen Java Basics - Anfänger-Themen 9
M Input/Output Zeichen on Konsole einlesen Java Basics - Anfänger-Themen 3
DStrohma Operatoren Kleiner-Zeichen in Größer-Zeichen ändern wenn boolen true? Java Basics - Anfänger-Themen 6
G Input/Output Verhalten BuffferedReader bei unvollständigen Zeichen Java Basics - Anfänger-Themen 1
T Auf jedes Zeichen eines Strings zugreifen? Java Basics - Anfänger-Themen 2
P String Zeichen zuweisen Java Basics - Anfänger-Themen 3
Q Erste Schritte In CharArrayWriter Zeichen an Stelle einfügen Java Basics - Anfänger-Themen 4
H Programm zum Zählen von Zeichen Java Basics - Anfänger-Themen 5
P Methode die String auf Zeichen überprüft Java Basics - Anfänger-Themen 2
A Seltsame Zeichen vor Clienteingabe Java Basics - Anfänger-Themen 5
M Prüfen, ob Zeichen eine Zahl ist Java Basics - Anfänger-Themen 3
T Wörter mit @ als Zeichen finden Java Basics - Anfänger-Themen 13
E Zeichen von Kommandozeilenparameter zählen Java Basics - Anfänger-Themen 6
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
J String Ausgabe nicht-leerer Zeichen nicht korrekt Java Basics - Anfänger-Themen 10
H JEditorPane: ermitteln, ob Zeichen unterstrichen Java Basics - Anfänger-Themen 4
I Zeichen aus String ziehen Java Basics - Anfänger-Themen 3
X Klassen mit Suffix hinter @-Zeichen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen


Oben