Sie können ein Array für diesen Zweck verwenden, z. B .:
public static void main(String[] args) {
int[] values = new int[3];
Scanner in = new Scanner(System.in);
for(int i = 0; i < values.length; i++) {
values[i] = in.nextInt();
}
System.out.println(Arrays.toString(values));
}
UPDATE 2
in Java 8 die obige Lösung kann eine kürzere Version haben:
Scanner in = new Scanner(System.in);
Integer[] inputs = Stream.generate(in::nextInt).limit(3).toArray(Integer[]::new);
UPDATE 1
Es gibt eine andere Art und Weise ist, die näher cin
:
public class ChainScanner {
private Scanner scanner;
public ChainScanner(Scanner scanner) {
this.scanner = scanner;
}
public ChainScanner readIntTo(Consumer<Integer> consumer) {
consumer.accept(scanner.nextInt());
return this;
}
public ChainScanner readStringTo(Consumer<String> consumer) {
consumer.accept(scanner.next());
return this;
}
}
public class Wrapper {
private int a;
private int b;
private String c;
public void setA(int a) {
this.a = a;
} /* ... */
}
public static void main(String[] args) {
ChainScanner cs = new ChainScanner(new Scanner(System.in));
Wrapper wrapper = new Wrapper();
cs.readIntTo(wrapper::setA).readIntTo(wrapper::setB).readStringTo(wrapper::setC);
System.out.println(wrapper);
}
Ich kann nicht glauben, dass Sie nicht gegoogled haben etwas wie "Java zuweisen mehrere Variablen gleichzeitig" - die ersten 8 Ergebnisse sind alle Stapelüberlauf! :) –
Mögliches Duplikat von [Java - zwei Ausdrücke gleichzeitig einer einzelnen Variablen zuweisen] (https://stackoverflow.com/questions/3996593/java-zuweisen-zwei-ausdrücke-in-eine-single-variable- simultan) –
Mögliches Duplikat von [So drucken Sie mehrere variable Zeilen in Java] (https://stackoverflow.com/questions/23584563/how-to-print-multiple-variable-lines-in-java) –