Überprüfung ob Eingabe Text/ASCII

Status
Nicht offen für weitere Antworten.

cojahn

Mitglied
Hallo Java Forum !

Ich stehe noch so ziemlich am Anfang meiner Java Karriere und habe eine Frage.
Ein Kollege ünterstützt mich ein wenig beim Lernen und gibt mir kleinere Aufgaben.

Aufgabe
Ich übergebe in Eclipse mit Argumenten/Variablen einen Usernamen und ein Passwort
und es soll geprüft werden ob diese mit dem im Programm hinterlegten übereinstimmen.
Bis hierhin alles ok !
Jetzt soll überprüft werden ob der Username auch wirklich Text/ASCII enthält.
Ist dem nicht so, soll das ganze mit try, catch, exception abgefangen werden.

Hier stosse ich leider an meine Grenzen und würde mich über einen kleinen Denkanstoss freuen =)
Ich hab keine Ahnung welche Exception hier passt, und wie ich eine Abfrage zu ASCII Zeichen erstelle.
Bedanke mich für jeden kleinen Beitrag

Gruß
coj

Code:
package xyz;

	public class Aufgabe01 {

		public static void main(String[] args) {

				String name = args[0];
				String pass = args[1];
				
			try {
				if (name.equals("meier"))
					System.out.println("Benutzername OK!");
				else
					System.err.println("Benutzername falsch!");

				if (pass.equals("1234"))
					System.out.println("Passwort OK!");
				else
					System.err.println("Passwort falsch!");
				} 
			catch (Exception e) {
				System.err.println("Falsche Eingabe!");
				}
		}
}
 

Leroy42

Top Contributor
cojahn hat gesagt.:
ob der Username auch wirklich Text/ASCII enthält.

Ob ein char ein ASCII - Zeichen ist, erkennst du daran, daß das höchstwertige
Bit NICHT gesetzt ist:

Code:
boolean isASCII = myChar & 0x80 == 0;

Ich frage mich allerdings, ob das wirklich gemeint war. ???:L

Edit: Ich bin mir sicher das das nicht gemeint war. Dann ist aber
die Aufgabenstellung ziemlich unsinnig.
 
G

Gast

Gast
geht hier wohl mehr darum ob die zeichen darstellbare ASCII Zeichen sind alsoo zahlen/buchstaben und sonderzeichen
 

cojahn

Mitglied
Ich glaub ich hab es ziemlich dämlich formuliert

Es soll anhand des ASCII Codes geprüft werden ob der Benutzername nur aus Buchstaben besteht.
Der Hexadezimalcode vom Alphabet ist glaub ich 41 -59 oder so !?

Hab aber keine Ahnung wie ich das abfragen soll
 

hupfdule

Top Contributor
Wenn du nur überprüfen willst, dass ein Benutzername nur aus Buchstaben besteht, dann überprüfe das nicht über den ASCII-Code. Das klappt zum Beispiel dann nicht mehr, wenn der verwendete Zeichensatz kein ASCII ist... Außerdem unnötig umständlich. Schicker ist es, das mit nem regulären Ausdruck zu prüfen. Oder so, wie es der Hobbit vorgeschlagen hat.
 

cojahn

Mitglied
Es wäre mit ASCII schon klasse, ich weiss das es nicht unbedingt für die Funktion notwendig ist.
Aber der Lerneffekt ist höher, ausserdem soll dann ein ungültiges Zeichen mit try catch abgefangen werden.

Oder ist das jetzt zu kompliziert auf ASCII zu prüfen ?
 

The_S

Top Contributor
Ne, geht ganz einfach, aber ne Überprüfung mit ASCII ist fehlerhaft, da Buchstaben wie z. B. ä, ö, ü oder ß nicht als Buchstaben erkannt werden ...
 

cojahn

Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
Ne, geht ganz einfach, aber ne Überprüfung mit ASCII ist fehlerhaft, da Buchstaben wie z. B. ä, ö, ü oder ß nicht als Buchstaben erkannt werden ...

Für Dich ganz einfach :) Ich such mir nen Wolf !
Aber die falsche Eingabe kann ich doch mit (try, catch, exception) abfangen oder nicht ?
 

The_S

Top Contributor
Wüsste nicht, was dir in diesem fall ein try-catch block bringen würde ... da kannste auch lang suchen, weil das musste selber implementieren ;)

[edit] Ein Beispiel:

Code:
	public boolean isASCIIText(String text) {
		
		text = text.toUpperCase();
		int ascii = -1;
		for (int i = 0; i < text.length(); i++) {
			ascii = text.charAt(i);
			if (ascii < 65 || ascii > 90) {
				return false;
			}
		}
		return true;
	}
 

cojahn

Mitglied
Ok, ich kriege es einfach nicht hin.
Ich möchte einfach überprüfen ob args[0] also der Name
Buchstaben enthält.. kann doch net so schwer sein :(

Character.getType geht ja nur mit char, kann ich das array umwandeln ? Ich brauch ein Erfolgserlebnis :-|
 

cojahn

Mitglied
Also entweder bin ich zu blöd oder ich bin zu blöd...

"The method isASCIIText(String) is undefined for the type Aufgabe01"

Was muss ich noch importieren um isASCIIText nutzen zu können ?
 

The_S

Top Contributor
Du musst einfach meine Methode in deine Klasse schreiben. Was ist "Aufgabe01"? Ein Element aus deinem String-Array, das übergeben wurde?
 

cojahn

Mitglied
Das ist die Klasse, hat Eclipse erstellt !
Ich poste mal meinen kläglichen Versuch :-|

Code:
package xyz;

	public class Aufgabe01 {
		
		
		public static void main(String[] args) {
		
				String name = args[0];
				String pass = args[1];
				
				if (name.equals("meier"))
					System.out.println("Benutzername OK!");
				else
					System.err.println("Benutzername falsch!");

				if (pass.equals("1234"))
					System.out.println("Passwort OK!");
				else
					System.err.println("Passwort falsch!");
	
			if (isASCIIText(name))
				System.out.println("Benutzername ist Letter!");
			else
				System.err.println("Benutzername kein Letter!");
				}
		}
 

Leroy42

Top Contributor
Dann mach sie einfach static:

Code:
public static boolean isASCIIText(String text) {
 

cojahn

Mitglied
Ja das hab ich dann aus Verzweifelung auch gemacht :)
Aber jetzt Mault Eclipse immer noch rum..

Also jetzt mal für ganz blöde wie mich..

Code:
package xyz;

	public class Aufgabe01 {
		
		public static void main(String[] args) {
		
				String name = args[0];
				String pass = args[1];
				
				if (name.equals("meier"))
					System.out.println("Benutzername OK!");
				else
					System.err.println("Benutzername falsch!");

				if (pass.equals("1234"))
					System.out.println("Passwort OK!");
				else
					System.err.println("Passwort falsch!");
		}
		public static boolean isASCIIText(String text) { 

			if (isASCIIText(args[0]))
				System.out.println("Benutzername ist Letter!");
			else
				System.err.println("Benutzername kein Letter!");
				}
	}

Die Methode muss doch oben deklariert werden oder nicht ?
Ich hab jetzt die Antworten gemischt, aber selbst ich sehe das ich den String text
irgendwie auslesen muss, bzw true & false nutzen muss.

Ich will nicht das es einfach nur funktioniert, ich will es verstehen warum es das tut ;-)
Sorry wenn ich mich hier vielleicht ein bischen blöd anstelle, aber ich raffs halt nicht !
 

Leroy42

Top Contributor
Was hast du denn aus Hobbit's liebevoll geschriebener Methode gemacht. :shock:

Die ist ja ganz verunstaltet. Das wird ihm aber nicht gefallen :noe:

Kopiere Hobbit's Methode so in deinen Code, wie er sie geschrieben hat.

Auch würde es nichts schaden, sie mal aufzurufen!
 

cojahn

Mitglied
Oha.. Du hast Recht... ich hab die Methode total zerpflückt.. :oops:

Das Problem ist das ich vor dieser Aufgabe nur mit "Hello World" zu tun hatte..
Ich versuche mir so gut es geht die Grundlagen draufzuschaffen und möchte diese Aufgabe
einfach nur fertig haben..

Das ich eine Methode auch aufrufen muss ist schon klar, aber mit welchem Parameter ?
Wie lese ich true und false aus um einen Text wie : Benutzername kein ASCII! auszugeben
Der erste Teil des Programms ist für mich mit meinen Pascal Kenntnissen klar zu verstehen,
aber die Methode alleine ist schon schwer zu lesen und zu verstehen was da passiert.

Könnte sich jemand erbarmen mir zu helfen ? Dann lass ich euch auch in Ruhe ;-)

Gruß
coj

Code:
package xyz;

	public class Aufgabe01 {
		
		public static void main(String[] args) {
		
				String name = args[0];
				String pass = args[1];
				
				if (name.equals("meier"))
					System.out.println("Benutzername OK!");
				else
					System.err.println("Benutzername falsch!");

				if (pass.equals("1234"))
					System.out.println("Passwort OK!");
				else
					System.err.println("Passwort falsch!");
		}
		public boolean isASCIIText(String text) { 
		       
		      text = text.toLowerCase(); 
		      int ascii = -1; 
		      for (int i = 0; i < text.length(); i++) { 
		         ascii = text.charAt(i); 
		         if (ascii < 65 || ascii > 90) { 
		            return false; 
		         }
		      }
		      return true;
			}
	}
 

Leroy42

Top Contributor
Code:
package xyz; 

   public class Aufgabe01 { 
       
      public static void main(String[] args) { 
       
            String name = args[0]; 
            String pass = args[1]; 
             
            if (isASCIIText(args[0])) {
                System.out.println("Der Benutzername besteht aus ASCII Zeichen");
            } else {
                System.out.println("Der Benutzername besitzt Nicht-ASCII Zeichen");
            }
            if (name.equals("meier")) 
               System.out.println("Benutzername OK!"); 
            else 
               System.err.println("Benutzername falsch!"); 

            if (pass.equals("1234")) 
               System.out.println("Passwort OK!"); 
            else 
               System.err.println("Passwort falsch!"); 
      } 
      public boolean isASCIIText(String text) { 
              
            text = text.toLowerCase(); 
            int ascii = -1; 
            for (int i = 0; i < text.length(); i++) { 
               ascii = text.charAt(i); 
               if (ascii < 65 || ascii > 90) { 
                  return false; 
               } 
            } 
            return true; 
         } 
   }

Aber lies lieber erst mal in einem (Online-)Buch dir Grundlagen von Java.
 

cojahn

Mitglied
Herzlichen Dank ! :D

Ich habe schon den richtigen Ansatz gehabt, allerdings immer versucht die if Abfrage ans Ende zu stellen...
Aber wie Du schon gesagt hast sind das Grundlagen... und die sollte ich mir wirklich erstmal antun..

Danke für die Geduld !!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Eingabe eines Chars mit Überprüfung Java Basics - Anfänger-Themen 3
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
A Überprüfung in TicTacToe Java Basics - Anfänger-Themen 5
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
V Personalnummer Überprüfung Java Basics - Anfänger-Themen 2
T Überprüfung einer Aufgabe zu verketteten Listen Java Basics - Anfänger-Themen 5
O Überprüfung auf Existenz einer Methode Java Basics - Anfänger-Themen 6
P Fallunterscheidung mit Überprüfung (enum) Java Basics - Anfänger-Themen 11
A null-Überprüfung Java Basics - Anfänger-Themen 24
S VierGewinnt Überprüfung Java Basics - Anfänger-Themen 7
J While-Überprüfung wird nicht wahr Java Basics - Anfänger-Themen 2
C Datentypen Methode zur Überprüfung, ob ein Rechenergbnis Int ist Java Basics - Anfänger-Themen 4
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
B Problem bei Überprüfung des Inhalts eines Arrays Java Basics - Anfänger-Themen 25
S Überprüfung Benutzereingabe Java Basics - Anfänger-Themen 5
J Überprüfung, ob Array aufsteigend sortiert Java Basics - Anfänger-Themen 6
U Frage zur Überprüfung von einer Zahl Java Basics - Anfänger-Themen 9
C Überprüfung eines Arrays auf einen speziellen Wert Java Basics - Anfänger-Themen 5
D String-Überprüfung Java Basics - Anfänger-Themen 4
Q Überprüfung ob JTextField einen Text enthält Java Basics - Anfänger-Themen 2
B Überprüfung ob Methode von geerbter Klasse aufgerufen wird Java Basics - Anfänger-Themen 2
J Überprüfung ersten Zeichens Java Basics - Anfänger-Themen 7
D Überprüfung: Double oder Integer Java Basics - Anfänger-Themen 4
N Überprüfung der ZufallsZahl? Java Basics - Anfänger-Themen 2
O Überprüfung von Eingaben auf Sinnhaftigkeit Java Basics - Anfänger-Themen 7
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
A Bei VierGewinnt Eingabe per Buchstabe (a,b,c...) Java Basics - Anfänger-Themen 2
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Eingabe limit Java Basics - Anfänger-Themen 8
brypa Programm mit Eingabe Java Basics - Anfänger-Themen 129
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
H For-Schleife bis Index von Eingabe laufen lassen Java Basics - Anfänger-Themen 24
Hamudi Bachir 2D Array eingabe vom Benutzer Java Basics - Anfänger-Themen 31
S Warum erscheint bei mir "Hallo Welt" und nicht die aktuelle Eingabe? Java Basics - Anfänger-Themen 16
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
B Array bei jeder Eingabe um eins erweitern Java Basics - Anfänger-Themen 3
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
M Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen bestätigung möglich Java Basics - Anfänger-Themen 2
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
M JTextField nur Zahleneingaben zulassen, eingabe sperren Java Basics - Anfänger-Themen 24
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
N Eingabe erkennen, ob groß oder kleingeschrieben worden ist Java Basics - Anfänger-Themen 22
N Fehlerausgabe bei falscher Eingabe der Users Java Basics - Anfänger-Themen 3
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
iman Eingabe von Benutzer Filter machen. Java Basics - Anfänger-Themen 7
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
H Eingabe Java Basics - Anfänger-Themen 7
F Bedingung für Eingabe Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
J Eingabe Einschränken Java Basics - Anfänger-Themen 1
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
D Array via Eingabe befüllen Java Basics - Anfänger-Themen 6
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N Abbrechen einer Eingabe endet im Fehler Java Basics - Anfänger-Themen 3
S Konsolen eingabe Java Basics - Anfänger-Themen 17
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
x-tshainge Bei if (eingabe = = ... ) enter als eingabe nehemen Java Basics - Anfänger-Themen 4
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
S Eingabe in anderer Klasse verwenden Java Basics - Anfänger-Themen 3
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
K Eingabe in Array speichern und Ausgeben Java Basics - Anfänger-Themen 9
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S Eingabe auf Richtigkeit und Reihenfolg überprüfen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben