Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe ein Code erstellt und soll an der stelle mit scanner ausgeben lassen der benutzer ein Array wert eingibt. wenn es kleiner 20 oder größer 40 ist soll es ausgeben lassen das er einen Neuen wert eingen soll wäre super wenn ihr mir sagen könnt wo ich das machen kann.
Java:
package com.company;
import java.util.Scanner;
public class übbb {
public static void main(String[] args) {
int length = 0;
do {
Scanner s = new Scanner(System.in);
System.out.println("Geben sie ein Array Wert an");
length = s.nextInt();
} while (length < 20 || length > 40);
int[] arr = new int[length];
for (int e = 0; e < length; e++) {
arr[e] = 3 * e + 3;
printArray(arr);
reverse(arr);
}
}
private static void printArray(int[] array){
for (Integer val : array)
System.out.print(val + " ");
}
private static void reverse(int[] arr) {
System.out.print("Umgekehrte Reihenfolge: ");
for (int a = arr.length - 1; a >= 0; a--) {
System.out.print(arr[a] + " ");
}
System.out.println();
}
}
ja genau Danke dir ja ich wollte eigentlich, nur wissen das wenn der wert Beispielsweile kleiner 20 ist oder Größer 40 ob ich nochmal mit Scanner sagen kann der er einen anderen wert eingibt.
lg
ich danke euch für eure antworten und ja mein code hat super funktioniert ich wollte nur mal wissen ob man mehrmals den Scanner benutzen kann bei meinem code wird ja in der Konsole ausgegeben System.out.println("Geben sie ein Array Wert an"); und die frage war ob ich dann wenn die zahl bsp kleiner 20 ist gefragt werden kann gebe ein anderen wert an.
ich danke euch für eure antworten und ja mein code hat super funktioniert ich wollte nur mal wissen ob man mehrmals den Scanner benutzen kann bei meinem code wird ja in der Konsole ausgegeben System.out.println("Geben sie ein Array Wert an"); und die frage war ob ich dann wenn die zahl bsp kleiner 20 ist gefragt werden kann gebe ein anderen wert an.
ich danke euch für eure antworten und ja mein code hat super funktioniert ich wollte nur mal wissen ob man mehrmals den Scanner benutzen kann bei meinem code wird ja in der Konsole ausgegeben System.out.println("Geben sie ein Array Wert an"); und die frage war ob ich dann wenn die zahl bsp kleiner 20 ist gefragt werden kann gebe ein anderen wert an.
do {
Scanner s = new Scanner(System.in);
System.out.println("Geben sie ein Array Wert an");
length = s.nextInt();
if (length < 20 || length > 40) {
System.out.println("Fehlerhafte Eingabe. Der Wert muss zwischen 20 und 40 liegen.");
}
} while (length < 20 || length > 40);
Das ist aber natürlich nicht die einzige Möglichkeit.
An der Stelle aber auch noch einmal der Hinweis: Man sollte es wenn möglich vermeiden, ständig neue Scanner auf einem Stream zu erzeugen.
Das liegt einfach daran, dass der Scanner einen internen Buffer hat und in diesem auch Werte speichert. Dadurch bekommt man ggf. nicht wirklich vorhersehbare Verhalten einer Applikation. Das mag sich bei Anfängern nicht auswirken und da geht es auch bei den Applikationen um Nichts, aber dennoch sollte man sich hier keine falschen Angewohnheiten zulegen.
Die Variable des Scanners gehört also außerhalb der Schleife deklariert und initialisiert.
Die Problematik ist relativ schnell ersichtlich, wenn man z.B. ein Kommandozeilentool geschrieben hat und dann eine Eingabe aus einer anderen Quelle in die Applikation per Pipe Symbol schickt.
do {
Scanner s = new Scanner(System.in);
System.out.println("Geben sie ein Array Wert an");
length = s.nextInt();
if (length < 20 || length > 40) {
System.out.println("Fehlerhafte Eingabe. Der Wert muss zwischen 20 und 40 liegen.");
}
} while (length < 20 || length > 40);
Das ist aber natürlich nicht die einzige Möglichkeit.
An der Stelle aber auch noch einmal der Hinweis: Man sollte es wenn möglich vermeiden, ständig neue Scanner auf einem Stream zu erzeugen.
Das liegt einfach daran, dass der Scanner einen internen Buffer hat und in diesem auch Werte speichert. Dadurch bekommt man ggf. nicht wirklich vorhersehbare Verhalten einer Applikation. Das mag sich bei Anfängern nicht auswirken und da geht es auch bei den Applikationen um Nichts, aber dennoch sollte man sich hier keine falschen Angewohnheiten zulegen.
Die Variable des Scanners gehört also außerhalb der Schleife deklariert und initialisiert.
Die Problematik ist relativ schnell ersichtlich, wenn man z.B. ein Kommandozeilentool geschrieben hat und dann eine Eingabe aus einer anderen Quelle in die Applikation per Pipe Symbol schickt.