2017-09-14 2 views
-3

Ich muss eine Methode zum Ausdrucken der Elemente in einem Array, getrennt durch '' | '' @param Werte, ein Array von ganzen Zahlen.Wie kann ich 4 Zahlen als Eingabe vom Benutzer lesen und sie als "|" getrennte Werte?

Im Wesentlichen seine Benutzereingaben zu nehmen, und dann von dort trennen Sie es mit |. Das habe ich bisher. Irgendwelche Hilfe Chaps?

int [] scans = new int [3]; 

System.out.println("Enter 4 Numbers into the array: "); 
Scanner scanner = new Scanner(System.in); 
int s = scanner.nextInt(); 

for (int i = 0; i < scans.length; i++) 
{ 
    scans [i] = scanner.nextInt(); 
} 
+1

Ich gehe davon aus dieser Code nicht funktioniert, oder Sie würden darüber nicht sein Posting. Was passiert * und * was hast du * erwartet? Sie sollten diese in die Frage bearbeiten, vorzugsweise mit einer tatsächlichen Beispieleingabe, wenn das Problem kein Compilerfehler ist. –

+0

Dieser Code gab keine Ausgabe. Compiler-Fehler sollten kein Grund sein, auf dieser Website zu posten. – progyammer

+2

Sie möchten 3 oder 4 Nummern? Das Array enthält nur 3, während Sie den Benutzer auffordern, 4 einzugeben – baao

Antwort

-1

Hier ist eine Lösung verbunden, die ohne Verwendung der mapToObj Lösung @baao verwendet (was in Ordnung sein könnte leichter zu verstehen ist , aber vielleicht schwerer zu verstehen, wenn Sie neu in Java).

Zuerst, wenn Sie 4 Zahlen im Array speichern möchten, dann sollte Ihr Array 4 nicht 3 Elemente enthalten. Ein anderer Trick, den Sie verwenden können, besteht darin, eine Präfixvariable zu erstellen, mit der jede Zahl in einer Schleife den Werten im Array vorangestellt wird. Nach der ersten Iteration sollte das Präfix auf Ihre Trennzeichenvariable gesetzt werden.

Sie können es hier arbeiten sehen: https://ideone.com/QCNPZQ

int [] scans = new int[4]; 
System.out.println("Enter 4 numbers into the array: "); 
Scanner scanner = new Scanner(System.in); 
for (int i=0; i<scans.length; i++) { 
    scans [i] = scanner.nextInt(); 
} 

String prefix = ""; 
String result = ""; 
for(int i=0; i<scans.length; i++){ 
    result = result + prefix + scans[i]; 
    prefix = "|"; 
} 

System.out.println(result); 
0

Zuerst Sie ignorieren die erste Eingangsnummer, indem es s zuweisen, aber Sie verwenden nie danach, dass. Für das Verbindungsproblem können Sie einen Stream verwenden. Im Folgenden wird der Benutzer zur Eingabe von 3 Nummern bitten, sie zu Ihrem int[3] und Ausgang speichern Sie es durch |

int [] scans = new int[3]; 
System.out.println("Enter 3 Numbers into the array: "); 
Scanner scanner = new Scanner(System.in); 
for (int i = 0; i < scans.length; i++) { 
    scans [i] = scanner.nextInt(); 
} 
String joined = Arrays.stream(scans) 
    .mapToObj(String::valueOf) 
    .collect(Collectors.joining("|")); 

System.out.println(joined); 
Verwandte Themen