我是java的新手。我试图提示用户输入4个整数后跟一个空格,最后将它们打印出来。我对如何写出来并使用split(“”);
的顺序感到困惑import java.util.Scanner;
public class calculations {
public static void main(String[] args) {
Scanner Keyboard = new Scanner(System.in);
System.out.println("Enter 4 integer numbers here: ");
int numbers = keyboard.nextInt();
// Need split(" "); here?
} // End main string args here
} // End class calculations here
感谢任何帮助或建议。我已经在stackoverflow上查看了其他方法,但不知怎的,我一直在收到错误。
答案 0 :(得分:2)
答案 1 :(得分:1)
import java.util.Scanner;
public class calculations {
public static void main(String[] args) {
Scanner Keyboard = new Scanner(System.in);
System.out.println("Enter 4 integer numbers here: ");
// Scan an entire line (containg 4 integers separated by spaces):
String lineWithNumbers = Keyboard.nextLine();
// Split the String by the spaces so that you get an array of size 4 with
// the numbers (in a String).
String[] numbers = lineWithNumbers.split(" ");
// For each String in the array, print them to the screen.
for(String numberString : numbers) {
System.out.println(numberString);
}
} // End main string args here
} // End class calculations here
此代码将打印所有数字,如果您确实想要对整数执行某些操作(例如数学运算),您可以将String解析为int,如下所示:
int myNumber = Integer.parseInt(numberString);
希望这有帮助。
答案 2 :(得分:1)
如果建议使用Scanner
类的功能从用户输入中检索数字:
Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[4];
System.out.println("Enter 4 integer numbers here: ");
for (int i = 0; i < 4 && keyboard.hasNextInt(); i++) {
numbers[i] = keyboard.nextInt();
}
System.out.println(Arrays.toString(numbers));
此代码创建一个大小为 4 的数组,然后遍历用户输入,从中读取数字。如果输入有四个数字,或者如果用户输入的数字不同于数字,它将停止解析输入。例如,如果他输入1 blub 3 4
,则数组将为[1, 0, 0, 0]
。
与过度答案的nextLine
方法相比,此代码具有一些优势:
如果您想阅读任意数量的数字,请改用List
:
List<Integer> numbers = new ArrayList<>();
System.out.println("Enter some integer numbers here (enter something else than a number to stop): ");
while (keyboard.hasNextInt()) {
numbers.add(keyboard.nextInt());
}
System.out.println(numbers);