我做老codeforces問題的實踐,我在Python經常重複的模式是:Java:將掃描器輸入分配給多個變量?
(m, n, k) = [int(i) for i in raw_input().split()]
快速指派m, n, k
因爲投入,如
4 2 7
在codeforces的是常見的第一條輸入線。有什麼辦法可以在Java中快速執行此類事情(具有多個變量m, n, k
)(最好是1-2班)?
任何幫助讚賞(或鏈接到某個地方回答問題)。謝謝!
我做老codeforces問題的實踐,我在Python經常重複的模式是:Java:將掃描器輸入分配給多個變量?
(m, n, k) = [int(i) for i in raw_input().split()]
快速指派m, n, k
因爲投入,如
4 2 7
在codeforces的是常見的第一條輸入線。有什麼辦法可以在Java中快速執行此類事情(具有多個變量m, n, k
)(最好是1-2班)?
任何幫助讚賞(或鏈接到某個地方回答問題)。謝謝!
我能想到的最快捷的方式就是像這樣:
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 - 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]
不行,你必須寫這三個獨立的語句。 –