Datentypen Zahlen aus einem alphanummerischen Feld in ein Interger Feld portieren

didi04

Mitglied
Hallo zusammen,
ich habe ein 5 stelliges alphanummerisches Feld mit Inhalten von (B=Blank)
123BB oder
1-2 oder
BBBBB oder
0

und möchte - nein muß die nummerischen Inhalte in ein Integer Feld bringen. Ich dachte mir das ist nicht so schwer, aber ich breche mir grade die Finger daran. Gibt es da vllt. eine Funktion die ich nutzen kann, bzw. wo könnte ich solche Funktionen suchen.

So sollte die Umsetzung ausschauen :

Quelle Ziel
123BB 123
1-2 12
BBBBB
0 0
BB5BB 5

Vielen Dank vorab für einen Lösungsansatz.

vg
dietmar
 

Joose

Top Contributor
Gehe dieses alphanumerische Feld Zeichen für Zeichen durch. Solltes es sich bei diesem Zeichen nicht um eine Zahl handeln mache nichts ... ist es eine Zahl hänge diese an einen (temporären/lokalen) String an. Am Ende diesen String einfach in einen Integer parsen.
Solltest du nur Blanks auf dem String stehen haben dann musst du halt per Default 0 als Integer haben :)

Hier sollte dir die Methode
Code:
char.isDigit()
helfen können ;)
 
Zuletzt bearbeitet:

didi04

Mitglied
Hallo Joose,
ja so ähnlich bin ich schon dran, mal schauen ob ich das hinbekomme :)
Kannst Du mir sagen was die Methode : char.isDigit() genau macht, bzw. wo ich das nachlesen kann ?

Danke schon einmal !
 

didi04

Mitglied
Ja shit, da hätte ich auch selber drauf kommen können :) ! Habe jetzt da noch ein paar mehr Anhaltspunkte gefunden um das Problem (nur für mich :)) zu lösen !
 

didi04

Mitglied
So ich habe das nun mal so gemacht, weiss aber nicht genau ob es funktioniert !
Ich berichte weiter :)

Java:
       private int switchAlphaInNum(String zw_foreall, int stellen)
    {
        int ziel_hausnr;
        String ziel = " ";
        int i = 0;
        int x = 0;
        
        while (i < stellen) 
        {
            if (! Character.isDigit(zw_foreall.charAt(i)))
                i++;
            else 
            {
                ziel = ziel + zw_foreall.charAt(i);
                i++;
                x++;
            }
        }
        
        ziel_hausnr = (Integer.valueOf(ziel));
        
        return ziel_hausnr;

    }
 

didi04

Mitglied
ja ich dachte mir schon das es nicht so richtig gut ist. wie kann ich das schöner, besser oder performanter machen.
Ich bin ja blauäugig und dachte sowas gibt es schon als fertige funktion oder methoder :)

Aber danke Euch schon einmal sehr für die Hilfe !! Über Google findet man doch einiges !!!
 

Deros

Bekanntes Mitglied
nagut vielleicht doch etwas genauer was mich am code spontan stört.

was soll der zweite parameter stellen bringen? willst du wirklich auch nur teile überprüfen können? Dann müsste du zumindest auch prüfen das stellen <= foreall.lenght() ist.
wofür die variable x?
das i++ ausserhalb der if-abfrage stellen, dann kannst du dir auch das else sparen
 

Deros

Bekanntes Mitglied
so spontan ohne Garantie auf Richtigkeit

Java:
    private int switchAlphaInNum(String zw_foreall)
        {
            String ziel = "";
            
           for (int i=0; i<zw_foreall.length; i++)
            {
                if ( Character.isDigit(zw_foreall.charAt(i)))
                    ziel = ziel + zw_foreall.charAt(i);
                }
            }
   
            return Integer.valueOf(ziel);
     
        }
 

Joose

Top Contributor
Java:
       private int switchAlphaInNum(String zw_foreall, int stellen)
    {
        int ziel_hausnr;
        String ziel = " ";
        int i = 0;
        int x = 0;
        
        while (i < stellen) 
        {
            if (! Character.isDigit(zw_foreall.charAt(i)))
                i++;
            else 
            {
                ziel = ziel + zw_foreall.charAt(i);
                i++;
                x++;
            }
        }
        
        ziel_hausnr = (Integer.valueOf(ziel));
        
        return ziel_hausnr;

    }

Was an diesem Code auffällt:

Verwende keine "_" für Variablennamen! Unschön und probiere mal mit Doppelklick den ganzen Namen zu markieren ;)
Für solche Fälle verwendet man die lowerCamelCase Schreibweise!

Hier mal ein ungetesteter Codevorschlag ;)
Java:
private int switchAlphaInNum(String zwForall) {
   String tmp = "";
   for(Char c : zwForall.toCharArray()) {
      if(Character.isDigit(c)) {
         tmp += c;
      }
   }
   if(tmp.trim().length()<=0) {
      return -1;
   }
   return Integer.valueOf(tmp);
}
 
Zuletzt bearbeitet:

didi04

Mitglied
Danke Euch beiden,
bei mir lag noch einiges im ARGEN, das hab ich beim testen schon schnell gemerkt !
Das mit der lowerCamelCase Schreibweise, da muss ich mich erst daran gewöhnen, aber es gefällt mir immer mehr und ist tatsächlich übersichtlicher !!

Es funktioniert jetzt auf jeden Fall - aber Joose kannst Du mir 2 Sachen vielleicht noch erklären :

1.) Was passiert da genau :

Java:
for  (Char c : zwForall.toCharArray())
       {      if(Character.isDigit(c)) 
         {         tmp += c;

         }
       }

2.) Was macht die Methode :
Java:
    if(tmp.trim().length()<=0)

Würde beides gerne verwenden, aber kapieren muss ich es halt :)

Vielleicht noch eine 3. Frage, wenn ich den Java Code kopiere zB. in NotePad++ dann ist der leider immer unformatiert und ich muß alle Zeilen umbrechen, gibts da eine Möglichkeit oder Option um das zu verhindern, bzw. um die Formatierung beizubehalten.

VIELEN DANK für Eure Hilfe !
 
Moin

Ich weiß für Anfänger ein Graus, aber gewöhne dich an die Java API ;)

Java:
    for  (Char c : zwForall.toCharArray())
           {      if(Character.isDigit(c))
             {         tmp += c;
     
             }
           }

Das ist die so genannte foreach-Schleife, neu bei Java seit Vesion 5, wenn ich mich richtig erinnere.
Ganz simpel, um durch Listen zu iterieren. Bei jedem Schleifendurchlauf wird das nächste Element in c geladen.
BTW:
Code:
 tmp += c;
ist das gleiche wie
Code:
tmp = tmp + c;
, falls das noch unklar war ;)

[Java] if(tmp.trim().length()<=0)[/Java]
Ein Fall für die API :bae:
Paket java.lang, Klasse String und die Methoden trim() und length()

Beim Javastart hatte ich BlueJ verwendet, ist ganz gut. AFAIK gibt es dazu auch ein Einsteigerbuch. Java lernen mit BlueJ, oder so ähnlich. Gerade für Einsteiger ist eine IDE wie Eclipse am Anfang Overkill. Damit kann man mit Java arbeiten, aber zum lernen der Sprache IMHO eher ungeeignet.
Ging mir bei C ganz ähnlich ... da reicht vim, gcc und gdb zum Sprachelernen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
S Sequenz von Zahlen bei einem Stack möglich oder nicht möglich? Java Basics - Anfänger-Themen 5
A Harshad Zahlen sollen in einem Intervall ausgegeben werden Java Basics - Anfänger-Themen 8
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
S Erste Schritte Schleife zum ordnen von Zahlen in einem Arrays Java Basics - Anfänger-Themen 2
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
T Mehrfach auftretende Zahlen in einem Array Java Basics - Anfänger-Themen 13
C Problem mit der Extraktion von Zahlen aus einem String Java Basics - Anfänger-Themen 8
M mehrfach auftretende zahlen in einem array Java Basics - Anfänger-Themen 6
A Sortieren von Zahlen in einem Array Java Basics - Anfänger-Themen 13
N zahlen und operatoren gemischt in einem Feld Java Basics - Anfänger-Themen 9
D 6 zahlen aus einem array rausziehen Java Basics - Anfänger-Themen 2
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
mhmt_03 dafür sorgen, dass im JTextfield nur zahlen eingebbar sind Java Basics - Anfänger-Themen 9
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
H Alle Geraden zahlen bis 10 ausgeben Java Basics - Anfänger-Themen 11
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
L Mit Zahlen im String rechnen Java Basics - Anfänger-Themen 19
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
H Ungerade Zahlen ausgeben von 1 bis 1000 Java Basics - Anfänger-Themen 8
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
M Zahlen erraten Java Basics - Anfänger-Themen 7
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
D auch negative Zahlen sotieren Java Basics - Anfänger-Themen 18
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
W Bell Zahlen Java Basics - Anfänger-Themen 2
H Min und Max von Zahlen Java Basics - Anfänger-Themen 10
der_Schokomuffin Fehler bei Zufallsgeneration von Zahlen Java Basics - Anfänger-Themen 7
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
Moji Klassen Array Zahlen zu Sternchen (U-Helmich 7.1-4) Java Basics - Anfänger-Themen 5
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
T Perfekte Zahlen ausgeben Java Basics - Anfänger-Themen 12
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
H Zahlen 1-100 Java Basics - Anfänger-Themen 2
H Einlesen von Zahlen Java Basics - Anfänger-Themen 20
O Problem gleiche Zahlen Java Basics - Anfänger-Themen 2
V Hilfe Aufgabe Zahlen Java Basics - Anfänger-Themen 9
J Zahlen addieren Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben