Unconvertible types für Tastatureingabe?

T

thorr

Gast
Hi,

ich möchte das auf der Tastatur eingegebene Zeichen mithilfe regulärer Ausdrücke auf die Art überprüfen, d.h., ob eine Zahl vorliegt oder eine Zeichenkette. Allerdings benötige ich dazu eine CharSequence, da matcher() diese erwartet, eine Konvertierung ist jedoch nicht möglich und bricht mit der Fehlermeldung "unconvertible types" ab.

Java:
Pattern pattern = Pattern.compile("[0-9]+");
        
Matcher matcher = pattern.matcher((CharSequence)keyboard.zeichen());
boolean zeichen_isdigit = matcher.matches();

Ich bin mir sicher, dass ich einen ziemlich blöden Fehler begehe, aber ich bin Anfänger in Java und habe keine Ahnung, was ich hier an dieser Stelle falsch mache. Ich hoffe, ihr könnt mir helfen.

LG
 
T

thorr

Gast
Danke für deine Antwort.

Arrg, ich hab vergessen, zu erwähnen, dass ich SuM verwende. Dabei gibt zeichen() das unterste Zeichen (bzw. das "älteste") des Tastaturpuffers aus.
 

Niki

Top Contributor
klappt das?

Java:
Pattern pattern = Pattern.compile("[0-9]+");
String s = ""+keyboard.zeichen();
System.out.println("--> " + s);
Matcher matcher = pattern.matcher(s);
boolean zeichen_isdigit = matcher.matches();

eventuell noch vorher zum debuggen den String ausgeben
 
T

Tomate_Salat

Gast
in Java nutzt man eher camelCase:
also nicht
Java:
boolean zeichen_isdigit = matcher.matches();
sondern
Java:
boolean zeichenIsDigit = matcher.matches();

edit
und vllt bei einer Sprache bleiben^^:
Java:
boolean tokenIsDigit = matcher.matches();

MFG

Tomate_Salat
 

thorr

Mitglied
Ah, da sieht man, wovon JavaScript abstammt - danke für den Tipp. Ich komme eigentlich von PHP bzw. C und lerne Java jetzt schulbedingt.

und vllt bei einer Sprache bleiben^^:
Java:
boolean tokenIsDigit = matcher.matches();
Naja, dann ja eher char - allerdings verwende ich zeichen, da dies auch die SuM-Bibliothek tut. Gefällt mir zwar auch nicht, dieses Deutsch-Englisch-Mischmasch, aber man muss es nunmal so annehmen und wenn man da nach Prinzipien vorgeht, dann klappt das auch einigermaßen.

Übrigens: Müsste es nicht eigentlich "unconvertable" heißen, oder hab ich im Englischunterricht nicht richtig aufgepasst? ???:L
 
Zuletzt bearbeitet:

thorr

Mitglied
Himmelherrgottnochmal, was mache ich denn hier wieder falsch?!
Java:
if (enteredDigits != 0)
{
    pen.setzeFarbe(enteredDigits);
    for (int i = 0; i < enteredDigits.length; i++)
    {
        keyboard.weiter();
    }
}
int könne nicht dereferenced werden - abgesehen davon, dass ich mir in meinem Zusammenhang die Bedeutung dieser Meldung nicht wirklich erschließen kann, habe ich keine Ahnung, was ich falsch mache und konnte dazu auch nichts bei Google finden. Ich habe mehrmals meinen Quellcode überprüft, ob ich i nicht vielleicht schon einmal deklariert habe o.ä., aber das habe ich definitiv nicht.
 

thorr

Mitglied
enteredDigits ist ein Integer. Ich glaube, ich kann meinen Fehler auch schon erahnen - .length ist nicht auf Zahlen, sondern lediglich auf Strings anwendbar, oder? Mit PHP ist alles so viel einfacher... :pueh:

Wie kann ich die Zahl denn dennoch auf die Anzahl an Stellen hin überprüfen? Gibt es eine andere Lösung als mit Zehnerpotenzen zu vergleichen?
 

Clahboid

Mitglied
.length auf arrays
.length() auf strings

Du könntest aus enteredDigits ein String machen und dessen Länge abfragen:
Java:
for (int i = 0; i < (enteredDigits+"").length(); i++)
 
B

bone2

Gast
.length auf arrays
.length() auf strings

Du könntest aus enteredDigits ein String machen und dessen Länge abfragen:
Java:
for (int i = 0; i < (enteredDigits+"").length(); i++)

Java:
+""
ist nich dazu da sachn zu Strings zu machn o_O

Java:
for (int i = 0; i < enteredDigits.toString().length(); i++)
 
B

bone2

Gast
Java:
int a = 1;
String s = Integer.valueOf(a).toString();


ist übrigends genau das was nachher auch passiert, nur das er noch zusätzlich ein leeres String object dazu erzeugt und sie in ein drittes verbindet. Performance ist was anderes.
 
Zuletzt bearbeitet von einem Moderator:

thorr

Mitglied
Oha, ich wollte hier jetzt keinen Streit über eine korrekte Lösung auslösen. :D Ich bin eigentlich immer für die korrekte Variante, also in diesem Fall wohl die mit "String.valueOf(digit)" (die anderen sind natürlich auch korrekt, aber ich vermute mal, dass dies die ist, die in meinem Fall funktionieren wird, denn enteredDigits ist hier kein Objekt."

ja wenn man nicht weiß was man tut. PHP verzeiht einfach viel.
Ja, PHP ist da sehr tolerant. Aber genau das macht die Sache meiner Meinung nach auch einfacher - als Gegenteil von aufwändig. Ich habe in PHP ja die Möglichkeit, z.B. mittels des ===-Operators genauer zu werden, aber es ist nunmal oft so, dass man Daten als falsche Typen erhält, wie z.B. Ziffern aus einem Formular als Strings oder eben hier die eingegebene Ziffer. Da finde ich alle Lösungsansätze sehr aufwändig für das, was man im Endeffekt bekommt, und es geht auf die Performance.
Dafür hat java den Vorteil, dass wenn man weiß was man tut, viel einfacher Fehler behben kann als in PHP.
Sehe ich bisher nicht so, aber das kann ja noch kommen. In PHP konnte ich meine (Denk-)Fehler bisher immer beheben, ohne dass mich gestört hätte, dass PHP da mehr durchgehen lässt - mit einem vardump() ist sowas schnell geklärt. Ich empfinde hier Java einfach als zu pingelig.

BTW: Das war übrigens der falsche Smiley - es sollte eher ein Getrübter sein, hatte mir die Animation nicht bis zum Schluss angesehen. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F java: incompatible types: possible lossy conversion from double to int Java Basics - Anfänger-Themen 1
Elyt Error: incompatible types Java Basics - Anfänger-Themen 3
R Operatoren Bad operand types for binary operator Java Basics - Anfänger-Themen 4
L Operatoren error: bad operand types for binary operator && Java Basics - Anfänger-Themen 8
I bad operand types for binary operator > Java Basics - Anfänger-Themen 5
H Operatoren Fehler bad operand types for binary operator Java Basics - Anfänger-Themen 7
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
D incompatible Types Problem in Greenfoot Java Basics - Anfänger-Themen 5
L incomparable types Java Basics - Anfänger-Themen 13
J Grundsätzliche Frage zu return Types in Methoden Java Basics - Anfänger-Themen 6
B Map, basic types & Object Java Basics - Anfänger-Themen 5
A error: incompatible types Java Basics - Anfänger-Themen 9
J Java Generics - Frage zu Types Java Basics - Anfänger-Themen 2
Q Compiler-Fehler Incompatible types bei ArrayList.get Java Basics - Anfänger-Themen 3
J bad operand types for binary operator Java Basics - Anfänger-Themen 3
D Compiler-Fehler incompatible types bei einer Stelle Java Basics - Anfänger-Themen 34
W Compiler-Fehler Inconvertible Types Java Basics - Anfänger-Themen 3
E incompatible types bei eigenen Klassen Java Basics - Anfänger-Themen 7
F inconvertible types hilfe Java Basics - Anfänger-Themen 9
S Hilfe - java.lang.RuntimeException: Uncompilable source code - incompatible types Java Basics - Anfänger-Themen 10
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
C HashMap liefert HashMap zurück - incompatible types Java Basics - Anfänger-Themen 2
R Incompatible operand types Integer and int Java Basics - Anfänger-Themen 2
J int temp = (int) it.next(); -> inconvertible types? Waru Java Basics - Anfänger-Themen 3
S Fehlermeldung : "incompatible types" Java Basics - Anfänger-Themen 5
R incompatible types Java Basics - Anfänger-Themen 3
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
L loop für Namen Java Basics - Anfänger-Themen 11
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben