プログラミングコンテストの標準入力:Java Scanner

ちょっと手間取りましたのでメモを残します。

入力

1 2
S

これをこう取ろうとしてましたがこれは間違い。

    public static void main (String[] arg) {
        
        Scanner sc = new Scanner(System.in);
        String n = sc.next();        // 1 2 が取れると思ってるけど違う
        String[] ar = n.split(" ");

        int a = Integer.parseInt(ar[0]);
        int b = Integer.parseInt(ar[1]);

        String s = sc.next();
        
        System.out.println(String.valueOf(a+b) + s);
    }
}

正しくはこちら

import java.util.*;
public class Main {
    public static void main (String[] arg) {
        
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt(); // ひとつずつ取る
        int b = sc.nextInt(); // ひとつずつ取る
        
        String s = sc.next();
        
        System.out.println((a+b) + " " + s);
    }
}

ちなみにちょっとしたものですが、同じディレクトリに以下を置いとくと何度も使うので便利。

run.bat

javac Main.java
java -cp . Main