char-Array auf bestimmte Zeichen prüfen

waikiko

Mitglied
Hey Leute,
folgendes Problem:

Ich habe in meinem Programm Parameter {2,5,8,9!}
aus der Konsole einlesen lassen und
jeweils in ein char Array gespeichert, jetzt muss ich das char Array auf bestimmte Kriterien
prüfen
1. am Ende steht ein ! Zeichen
2. nur positive Zahlen zwischen 0 und 300 sind zugelasseen
3. mehrere Nullen sollen zu einer Null werden

Meine Idee dazu, jede Zahl zwischen den Kommata aus dem Array einzeln auslesen und prüfen bis das ! kommt.
Soweit so gut, da hören allerdings leider meine Kenntnisse aus und ich hätte wirklich keine Idee wie ich dies tun kann.

Hier erstmal mein Code dazu:
Java:
void werteErmitteln(int[] zahl)throws IOException{
    int anzahl= zahl[0];
    int a=1;
    String eingabe;
    char[] eingabe1= null;
    char[] eingabe2= null;
    char[] eingabe3= null;
    
    while ( anzahl != 0 ){
        System.out.println("Bitte geben Sie die Messwerte der " +a+ ". Reihe getrennt durch das          Zeichen , an und beenden Sie diese mit dem Zeichen !:");
        anzahl--;
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        eingabe = br.readLine();
        if(a == 1){
            eingabe1 = new char[eingabe.length()];
            eingabe1 = eingabe.toCharArray();
        }
        if(a == 2){
            eingabe2 = new char[eingabe.length()];
            eingabe2 = eingabe.toCharArray();
        }
        if(a == 3 ){
            eingabe3 = new char[eingabe.length()];
            eingabe3 = eingabe.toCharArray();
        }
        a++;
        
    }
}

Würde mich sehr über Hilfe freuen :D
 

bartzer

Mitglied
Hallo waikiko,

ich bin noch Java-Anfänger, hätte aber eine Frage:
Weshalb speicherst du das Ganze in drei verschiedene char-Arrays anstelle eines String-Arrays?
Dann könntest du auch eine, meiner Meinung nach für diesen Fall besser geeignete, FOR-Schleife verwenden, anstelle der 3 if-Anweisungen.

Gruß
 
Zuletzt bearbeitet:

waikiko

Mitglied
da ich wirklich blutiger Anfänger bin habe ich noch so meine Probleme..
nur so hat es geklappt und ich wüsste auch nicht wie ich es verbessern soll :/
aber danke für die Anregung auch wenn ich sie nicht umsetzten kann..
Lg :D
 

waikiko

Mitglied
Das Ding ist,
am Anfang soll angegeben werden wieviele Messreihen gespeichert werden sollen als Paramter,
aus der Zahl leite ich dann ab, wieviele Speicher( in meinem fall charArrys )ich machen muss,
da drinne sollen dann wieder Messwerte gespeichert werden z.B {3,5,6,8!}
und diese Parameter muss ich prüfen .....
Hoffe das ist verständlich, bin ehrlich Planlos

Wie kann ich alles in einem String speichern wenn ich doch mehrer String brauche?
und wie kann ich diese auf meine Kriterien prüfen ?
 
Zuletzt bearbeitet:

waikiko

Mitglied
meine bisherigen Verbesserung:

eingabe1 = new char[eingabe.length()];
eingabe1 = eingabe.toCharArray();

String[] eingabe_1 = eingabe.substring(0, eingabe1.length-1).split(",");
int ersteNummer = Integer.parseInt(eingabe_1[0]);
int zweiteNummer = Integer.parseInt(eingabe_1[1]);


Jetzt ist es mir Möglich die einzelnen Zahlen auszulesen , allerdings weiß ich ja nicht wieviele Zahlen das sind und kann dementsprechend ja nicht schonmal 20 int's vorbereiten und frei halten...
Und wie teste ich auf das ! , dass am Ende angegeben werden soll ?
 
Zuletzt bearbeitet:

bartzer

Mitglied
Java:
void werteErmitteln(int[] zahl)throws IOException{
    int anzahl= zahl[0];
    ...
    ...
}
Ist die Methodendeklaration die so vorgegeben worden?
Die Anzahl der zu messenden Werte wird der Methode ja als int-Array übergeben, aber du benutzt nur die erste Zahl des Arrays und den Rest nicht. In dem Fall könntest du auch einfach eine normale int-Variable nehmen.
Soll einfach nur die Anzahl der Messwerte übergeben werden? Wenn ja, dann nenne den Parameter doch einfach "anzahlMesswerte" oder "anzahl", halt ein Name der den Parameter etwas genauer beschreibt. Das ein int eine Zahl ist ist ja klar ;).


waikiko hat gesagt.:
am Anfang soll angegeben werden wieviele Messreihen gespeichert werden sollen als Paramter,
aus der Zahl leite ich dann ab, wieviele Speicher( in meinem fall charArrys )ich machen muss
...
Stell dir mal vor jetzt sollen 100 (oder mehr) Messreihen gespeichert werden, dann müsstest du in deinem Fall 100 Char-Arrays und if-Anweisung Händisch erstellen. Wäre doch etwas mühseelig oder?


Wie kann ich alles in einem String speichern wenn ich doch mehrer String brauche?
und wie kann ich diese auf meine Kriterien prüfen ?
In einem String-Array
Java:
String[] messreihen = new String[anzahlDerMessreihen]

und dann mir einer For Schleife Deine Messreihen im Array speichern.
Java:
for(int messreihe = 0; messreihe < anzahlDerMessreichen; messreihe++){
//String-Array durchlaufen und etwas damit machen
}

Lies dich mal etwas in die Java Dokumentation ein und schaue dir Methoden der Klasse "String" an. Die Methoden dort stehen dir alle frei zur verfügung.
String (Java Platform SE 7 )
 
Zuletzt bearbeitet:

waikiko

Mitglied
Erstmal vielen vielen Dank für deine Mühe !!

1.
void werteErmitteln(int[] zahl)throws IOException{
int anzahl= zahl[0];
...
...
}
Hierbei hast du vollkommen Recht und danke für die Anmerkung habe aus dem Array ein normales int gemacht !

Wie ich ein String erzeuge verstehe ich zwa und auch wie ich die einzelnen Positionen durchlaufen kann,
allerdings ist es mir fraglich wie ich, ohne von Hand 20 int's zu initialisieren, verschieden Speicherplätze für die
Messwerte bekomme mit verschiedenen Namen um getrennt auf die Messwerte der jeweiligen Reihe zugreifen zu können..

Am Ende sollen die Ausgaben ungefähr so aussehen:

Bitte geben Sie an, wieviele Messreihen analysiert werden sollen!
Eingabe: 3

Bitte geben Sie die Messwerte der 1. Reihe getrennt durch das Zeichen , an und beenden Sie diese mit dem Zeichen !:
Eingabe: 4,5,6,7! //An dieser Stelle muss ich die einzelnen Parameter prüfen

Bitte geben Sie die Messwerte der 2. Reihe getrennt durch das Zeichen , an und beenden Sie diese mit dem Zeichen !:
Eingabe: 4,6,8,9! //An dieser Stelle muss ich die einzelnen Parameter prüfen

Bitte geben Sie die Messwerte der 3. Reihe getrennt durch das Zeichen , an und beenden Sie diese mit dem Zeichen !:
Eingabe: 3,9,9,4! //An dieser Stelle muss ich die einzelnen Parameter prüfen

Messwertreihen:
4,5,6,7
4,6,8,9
3,9,9,4
 
Zuletzt bearbeitet:

Saheeda

Top Contributor
Hallo,

ich würde an die Aufgabe leicht anders herangehen.

Gehen wir mal davon aus, dass du eine unbekannte / variable Anzahl an Messreihen ist. Du kannst unmöglich tausende von Variablen vorbereiten und diese mit if-else Abfragen.
Zweckmäßig wäre es hier, entweder mit einem zweidimensionalen Array (1. Dimension Indizes der Messreihen, 2. Dimension Indizies der Messwerte) zu arbeiten, oder gleich eine Klasse "Messreihe" zu erstellen und davon die benötigte Anzahl an Instanzen zu erzeugen.

Dann würde ich die Messwerte in einen String einlesen, prüfen, ob die letzte Stelle ein "!" ist (Substring) und mit Split(,) ein String-Array überführen. Als eine Art Zwischenspeicher.
Über dieses Array würde ich jetzt iterieren und Wert für Wert parsen und in das zweidimensionale Array bzw. die Messreihen-Instanz speichern.
 

bartzer

Mitglied
Die Eingabeaufforderung hattest du ja schon in deinem ersten Beispiel, ob die so funktioniert kann ich leider nicht beurteilen.
Gehen wir von dem Punkt aus wo du eine String-Variable (eingabe) mit irgendeinem Wert hast:
Java:
String[] messreihen = new String[anzahlDerMessreihen];

for(int messreihe = 0; messreihe < anzahlDerMessreihen; messreihe++){
//Hier kommt deine Eingabeaufforderung hin
messreihen[messreihe] = eingabe;
}
messreihen[0] wäre dann die erste Eingabe, messreihen[1] die zweite usw.

edit: du kannst auch vor der zuweisung an das Array die eingabe beliebig editieren, prüfen etc. und erst wenn klar ist, dass es sich um eine richtige Messwertangabe handelt diese dem Array zuweisen. So wäre sichergestellt, dass nichts "falsches" in deinem Array landet
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
D 2D Char Array into String Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
I char Array to String Java Basics - Anfänger-Themen 3
C (char) Array einlesen Java Basics - Anfänger-Themen 8
H char-Array Java Basics - Anfänger-Themen 22
C Methoden String in char Array Java Basics - Anfänger-Themen 3
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
W Char Array bearbeiten Java Basics - Anfänger-Themen 6
A Char-Array erstellen Java Basics - Anfänger-Themen 35
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
C char array-positionstausch Java Basics - Anfänger-Themen 6
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
D Best Practice String aufbau - Char Array oder Anhängen Java Basics - Anfänger-Themen 11
S For Schleife Char Array Java Basics - Anfänger-Themen 1
B char Array mit ints Java Basics - Anfänger-Themen 7
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
S Array - index von Benutzer eingegebenen char ausgeben Java Basics - Anfänger-Themen 3
M char Array füllen Java Basics - Anfänger-Themen 2
H ArrayList mit char- Array befüllen Java Basics - Anfänger-Themen 12
P Datentypen String auf JTextField wird zu Char-Array und anschließend zu int Java Basics - Anfänger-Themen 12
D Char Array ab bestimmter Stelle in neuem Speichern Java Basics - Anfänger-Themen 13
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
J Alle Vorkommen eines chars in einem Array durch einen anderen char ersetzen Java Basics - Anfänger-Themen 10
N Methode die String in char-Array wandelt!! Java Basics - Anfänger-Themen 11
D Erste Schritte String Array in char Array umwandeln? Java Basics - Anfänger-Themen 1
E Char-Array zu String Java Basics - Anfänger-Themen 2
M Datentypen Char Array in String Array gibt Probleme Java Basics - Anfänger-Themen 10
M Char-Array Problem Java Basics - Anfänger-Themen 6
F Char Array splitten Java Basics - Anfänger-Themen 5
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
S char Array in Character KlassenArray? Java Basics - Anfänger-Themen 24
Semox Datentypen Einlesen von char in Array schlägt unerwartet fehl Java Basics - Anfänger-Themen 4
H Datentypen char array in int umwandeln Java Basics - Anfänger-Themen 9
B Unterschied zwischen String & char Array? Java Basics - Anfänger-Themen 5
B Datentypen Char Array in einen String verwandeln? Java Basics - Anfänger-Themen 2
J char array eintraege geben Java Basics - Anfänger-Themen 2
T Char Array in fremder Klasse Java Basics - Anfänger-Themen 20
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
P Array index per char suche auslesen Java Basics - Anfänger-Themen 3
M 2D char Array anzeigen Java Basics - Anfänger-Themen 4
G Zeichenkette in char-Array konvertieren Java Basics - Anfänger-Themen 13
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
J String in char Array Java Basics - Anfänger-Themen 2
J Verständnisfrage zu Char-Array Java Basics - Anfänger-Themen 5
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
M char Array in int Array Java Basics - Anfänger-Themen 3
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
Jen Array einlesen, Int und Char Java Basics - Anfänger-Themen 57
J Char-Array mit variabler Länge zurückliefern. Java Basics - Anfänger-Themen 11
B Deklaration eines char-array Java Basics - Anfänger-Themen 2
F abc char array Java Basics - Anfänger-Themen 3
J char[] reverse Array Java Basics - Anfänger-Themen 9
G Zufällige Buchstaben in char-Array Java Basics - Anfänger-Themen 9
0 Häufigstes Zeichen in einem Char-Array ermitteln? Java Basics - Anfänger-Themen 6
M Char Array mit Sonderzeichen in String umwandeln Java Basics - Anfänger-Themen 21
T String als Array und Umwandlung in Char Java Basics - Anfänger-Themen 7
J StringBuffer-Objekt soll auf Char-Array zugreifen. Java Basics - Anfänger-Themen 4
F char to byte array Java Basics - Anfänger-Themen 8
G Char oder Byte Array mit unbekannter länge erstellen? Java Basics - Anfänger-Themen 1
S Testen ob ein Char Array noch nicht belegt ist! Java Basics - Anfänger-Themen 3
G Char Array konvertieren Java Basics - Anfänger-Themen 7
megachucky probleme mit einem char-array. Java Basics - Anfänger-Themen 6
H char Array in String Java Basics - Anfänger-Themen 7
E Ziffer in char-Array Java Basics - Anfänger-Themen 2
S String in char-Array einfügen Java Basics - Anfänger-Themen 8
G Array und Char Java Basics - Anfänger-Themen 3
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W char über die Konsole? Java Basics - Anfänger-Themen 7
C char c Java Basics - Anfänger-Themen 13
D String und char in String speichern Java Basics - Anfänger-Themen 5
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
A Datentyp char Java Basics - Anfänger-Themen 27
A Char und modulo Java Basics - Anfänger-Themen 8
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
D Datentypen Char deklaration Java Basics - Anfänger-Themen 4
J Java char.at() Probelm Java Basics - Anfänger-Themen 12
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
M Die länge von char Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben