我正在为练习做旧的代码强制问题,我在Python中经常重复的模式是:
(m, n, k) = [int(i) for i in raw_input().split()]
快速分配m, n, k
,因为
4 2 7
在代码中常见为第一个输入行。有什么方法可以用Java快速完成这种事情(有多个变量m, n, k
)(最好是1-2个班轮)?
任何帮助表示赞赏(或链接到回答q的某个地方)。谢谢!
答案 0 :(得分:1)
我能想到的最快捷方式就是这样:
System.out.println("Enter values:");
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
int j = scan.nextInt();
int k = scan.nextInt();
System.out.print(i + " " + j + " " + k);
输入:1 2 3
输出:1 2 3
答案 1 :(得分:1)
这可能不是您想要的,IMO,如果您将输入存储在数组中,它是一个非常接近的替代品。每个说法没有三个“单独”的变量,但是你要求的却是1 - 2个。
public static void main(String[] args) throws Exception {
Scanner input = new Scanner(System.in);
System.out.print("Enter 3 values separated by spaces: ");
int[] mnk = Arrays.stream(input.nextLine().split(" "))
.mapToInt(a -> Integer.parseInt(a)).toArray();
System.out.println(Arrays.toString(mnk));
}
这种方法的另一个“缺点”是输入对于输入和用空格分隔的整数是SO限制性的。你无法通过错误检查获得1 - 2班轮。
结果:
Enter 3 values separated by spaces: 4 2 7
[4, 2, 7]