ich habe ein Problem bei einem char array, welches eine Länge von "user input" hat.
Mein Problem dabei ist, dass ich auch mit google keinen weg finde der funktioniert, die Werte in einer Schleife einzulesen.... (mit Scanner).
Jemand eine Idee?
Was hast Du denn probiert? Und was hat nicht geklappt?
Erfahrungsgemäß scheitert es oft an der Nutzung des Scanners, denn der hat eine gewisse Verhaltensweise, die man erst einmal verstanden haben muss. Wenn Du deine Versuche mitteilst, dann können wir die vorhandenen Probleme erläutern und Lösungsmöglichkeiten aufzeigen.
Was hast Du denn probiert? Und was hat nicht geklappt?
Erfahrungsgemäß scheitert es oft an der Nutzung des Scanners, denn der hat eine gewisse Verhaltensweise, die man erst einmal verstanden haben muss. Wenn Du deine Versuche mitteilst, dann können wir die vorhandenen Probleme erläutern und Lösungsmöglichkeiten aufzeigen.
Also erstmal bleibst du besser bei einem Scanner pro Inputstream.
Dann ist es so, dass die Methode "hasNext" ein boolean zurückliefert. Darauf kannst du nicht die Methode "toCharArray" anwenden.
Probiers mal so:
Java:
System.out.println("Geben sie die Länge des Arrays ein");Scanner scan =newScanner(System.in);int i = scan.nextInt();char[] werte =newchar[i];char[] reverse =newchar[i];for(int a =0; a < i; a++){System.out.println("Geben sie einen Buchstaben ein: ");
werte[a]= scan.next().charAt(0);}System.out.println(Arrays.toString(werte));
Also erstmal bleibst du besser bei einem Scanner pro Inputstream.
Dann ist es so, dass die Methode "hasNext" ein boolean zurückliefert. Darauf kannst du nicht die Methode "toCharArray" anwenden.
Probiers mal so:
Java:
System.out.println("Geben sie die Länge des Arrays ein");Scanner scan =newScanner(System.in);int i = scan.nextInt();char[] werte =newchar[i];char[] reverse =newchar[i];for(int a =0; a < i; a++){System.out.println("Geben sie einen Buchstaben ein: ");
werte[a]= scan.next().charAt(0);}System.out.println(Arrays.toString(werte));
Also erstmal bleibst du besser bei einem Scanner pro Inputstream.
Dann ist es so, dass die Methode "hasNext" ein boolean zurückliefert. Darauf kannst du nicht die Methode "toCharArray" anwenden.
Probiers mal so:
Java:
System.out.println("Geben sie die Länge des Arrays ein");Scanner scan =newScanner(System.in);int i = scan.nextInt();char[] werte =newchar[i];char[] reverse =newchar[i];for(int a =0; a < i; a++){System.out.println("Geben sie einen Buchstaben ein: ");
werte[a]= scan.next().charAt(0);}System.out.println(Arrays.toString(werte));
Naja, das ist nur die Darstellung der Arrays.toString Methode. Ausgeben kannst du dir das Ganze wie du möchtest.
Einfach in einer Schleife übers Array laufen und mit Komma getrennt ausgeben
Java:
for(int k =0; k < werte.length; k++){System.out.print(werte[k]+(k < werte.length -1?", ":""));}
Naja, das ist nur die Darstellung der Arrays.toString Methode. Ausgeben kannst du dir das Ganze wie du möchtest.
Einfach in einer Schleife übers Array laufen und mit Komma getrennt ausgeben
Java:
for(int k =0; k < werte.length; k++){System.out.print(werte[k]+(k < werte.length -1?", ":""));}
Du läufst wieder durch dein Array und musst du dir nur überlegen an welche Stelle du deine Elemente schreibst. Das erste Element an die letzte Stelle im neuen Array, das zweite Element an die zweitletzte Stelle etc.