Wörter mit @ als Zeichen finden

Tenacious

Mitglied
Hallo,

ich gehe grad einen der Programmiertests durch die nachträglich ins Internet gestellt wurden. Ich dachte eigentlich es passt soweit alles, jedoch kommt noch nicht einmal eine Ausgabe.
Aber erstmal zur Aufgabe (ich kopiere die mal, bin grad zu faul):

"Schreiben Sie ein Programm, welches aus einem Text alle vorkommenden EMail-Adressen
heraus ltert und ausgibt. Sie können vereinfachend davon ausgehen, dass EMail-Adressen
immer das Zeichen @ enthalten, und vom Rest des Textes durch Leerzeichen getrennt
sind. D.h. gesucht sind Teil-Zeichenketten, die ein Leerzeichen enthalten, dann Nicht-
Leerzeichen mit mindestens einem @, und dann wieder ein Leerzeichen. Jede solche Teil-
Zeichenkette sollen Sie ausgeben, allerdings ohne die Leerzeichen vorne und hinten. Sie
erhalten den Text als Kommandozeilen-Argument."

Java:
class emailFinder 
{
	public static void main(String[] args)
	{
		String text = args[0];
		String wort = "";
		
		for (int i = 0; i < text.length(); i++)
		{
			if(text.charAt(i) == ' ')
			{
				for(int j = 0; j < wort.length(); j++)
				{
					if (wort.charAt(j) == '@')
					{
						System.out.println(wort);
						wort = "";
					}
				}
			}
			else
			{
				wort += text.charAt(i);
			}
		}
	}
}

Wo liegt mein Fehler? Bins grad mehrmals durchgegangen und finds einfach nicht :/
 

L-ectron-X

Gesperrter Benutzer
So?
Java:
public class EmailFinder {
  public static void main(String[] args) {
    for(int i = 0; i < args.length; i++) {
      if(args[i].contains("@")) {
        System.out.println(args[i]);
      }
    }
  }
}
 

eRaaaa

Top Contributor
@Lex, ich denke eher der gesamte Text wird als 1 Argument (also nur in args[0]) übergeben :) Von daher würde deine Lösung wohl auch den gesamten Text ausgeben ^^
Ich wäre für Pattern+Matcher :)
Ansonsten könnte man sicher auch etwas mit indexOf anstellen. Einfach das @ suchen, dann ab dem Index das nächste Leerzeichen suchen (meinetwegen auch mit indexOf) und von da aus einfach rückwärts suchen bis erneut ein Leerzeichen kommt. Alle Zeichen mit Stringbuilder zusammenschustern und ein reverse aufrufen oder so :p

Oder man macht es so wie der TO.
@Tenacious: Verschiebe mal die Zeile 17 raus aus der for-Schleife nach Zeile 19 :p
 

L-ectron-X

Gesperrter Benutzer
@Tenacious: Hmm, ich hatte deine Frage so verstanden, dass der Satz als Kommandozeilen-Parameter eingegeben werden soll.
Das Programm sollte also mit
Code:
java EmailFinder Meine Email-Adresse ist: [email]hallo@test.de[/email]
gestartet werden.
Und die Ausgabe bei meinem Codestückchen ist:
Code:
hallo@test.de

@eRaaaa: Es gibt hier aber nicht nur args[0] sondern args[3] (also 4 Argumente) ;)
 

eRaaaa

Top Contributor
@Tenacious: Hmm, ich hatte deine Frage so verstanden, dass der Satz als Kommandozeilen-Parameter eingegeben werden soll.
Das Programm sollte also mit
Code:
java EmailFinder Meine Email-Adresse ist: [email]hallo@test.de[/email]
gestartet werden.
Und die Ausgabe bei meinem Codestückchen ist:
Code:
hallo@test.de

Wohl eher mit [c]java EmailFinder "Meine Email-Adresse ist: hallo@test.de "[/c] :bae:
 

L-ectron-X

Gesperrter Benutzer
Wohl eher mit [c]java EmailFinder "Meine Email-Adresse ist: hallo@test.de "[/c] :bae:
Gut, das habe ich übersehen... :oops:

Dann so?
Java:
public class EmailFinder {
  public static void main(String[] args) {
    
    if(args.length == 1) {
      String[] arg = args[0].split(" ");
      
      for(int i = 0; i < arg.length; i++) {
        if(arg[i].contains("@")) {
          System.out.println(arg[i]);
        }
      }     
    }
  }
}
 

eRaaaa

Top Contributor
args[0] wird einwandfrei ausgegeben.
Der Quelltext an sich ist so in Ordnung?

Wie gesagt wenn du die eine Zeile verschiebst sollte es gehen.

Sicher dass in deinem Beispiel am Ende noch ein Leerzeichen im Text ist? Du hast nämlich hier keins geschrieben!
Es wird ein Satz per Konsole eingegeben und dann ist args[0] zum Beispiel "Meine Email-Adresse ist: hallo@test.de".
So klappt das auch nicht. Hinter .de noch ein Leerzeichen, so wie es die Aufgabenstlelung vorgibt!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
S Zeilen, Zeichen, Wörter Java Basics - Anfänger-Themen 3
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
CptK Variablen Wörter erschließen Java Basics - Anfänger-Themen 7
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
A Wie am effizientesten bzw. schnellsten Namen/Wörter sortieren? Java Basics - Anfänger-Themen 1
I String teilen und zwei Wörter generieren Java Basics - Anfänger-Themen 1
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
T Eingegebene Wörter ausgeben? Java Basics - Anfänger-Themen 3
J Alle Wörter der Länge n mit 0 und 1 Java Basics - Anfänger-Themen 17
G wörter speichern Java Basics - Anfänger-Themen 12
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
C String Arrays - häufigste Wörter Java Basics - Anfänger-Themen 10
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
K Anzahl Wörter in Zeile Java Basics - Anfänger-Themen 24
F wörter trennen und in txt-file schreiben Java Basics - Anfänger-Themen 5
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R Wörter-KarteiSystem/Vokabel Trainer Source Fragen Java Basics - Anfänger-Themen 9
A Wörter umgekehrten Reihenfolge ausgeben Java Basics - Anfänger-Themen 3
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
P Zwei Wörter vergleichen Java Basics - Anfänger-Themen 11
S Wörter zählen Java Basics - Anfänger-Themen 19
N Wörter zählen im String Java Basics - Anfänger-Themen 3
Screen Wie lese ich Wörter ein? Java Basics - Anfänger-Themen 6
G Wörter Zählen Java Basics - Anfänger-Themen 11
J Wörter im String zählen Java Basics - Anfänger-Themen 4
P wörter im string zählen Java Basics - Anfänger-Themen 9
G Häufigkeit der Wörter einer Webseite zählen Java Basics - Anfänger-Themen 7
C Wörter suchen Java Basics - Anfänger-Themen 4
M Anzahl von Wörter in einer eingelesenen Datei Java Basics - Anfänger-Themen 10
S Regex, Wörter ersetzen Java Basics - Anfänger-Themen 2
S Welche Bedeutung haben diese Wörter? Java Basics - Anfänger-Themen 2
K Wörter zählen auf Internetseiten... die zweite Java Basics - Anfänger-Themen 4
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
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
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
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
R Zeichen in String vergleichen Java Basics - Anfänger-Themen 75
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

Ähnliche Java Themen

Neue Themen


Oben