AtCoderの問題をJavaで解いてみようとしたところ、標準入力の使い方が分からなかったので調べました。
標準入力
Javaでは入力を受け取る際にはScannerにSystem.inを渡して使います。また、受け取るデータの型によっていくつかのメソッドを使い分けます。
- 単語の場合は
next()
- 整数の場合は
nextInt()
- 文字列(1行)の場合は
nextLine()
使用例1
以下は、標準入力から2つの数を与え、2つの数の積(掛け算)した結果が偶数(Even)か奇数(Odd)かを判定するプログラムです。
public class ABC086_A_Product {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if ((a * b) % 2 == 0) {
System.out.println("Even");
} else {
System.out.println("Odd");
}
}
}
※入力する時は、数値と数値の間は半角スペースで区切っています。
入力例1:3 2
出力例1:Even
入力例2:1 25
出力例2:Odd
使用例2
以下は、3桁の0か1の入力を想定し、入力された1の個数を数えるプログラムです。
import java.util.Scanner;
public class ABC081_A_Placing_Marbles {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
//文字列から0を取り除きます。
s = s.replaceAll("0", "");
//文字数を出力します。
System.out.println(s.length());
}
}
入力例1:101
出力例1:2
入力例2:000
出力例2:0
参考資料
AtCoderに登録したら解くべき精選過去問10をJavaで解いてみた - Qiita
AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita
AtCoder Problems