【Java】入力を受け取るときに間違えたやつ。
以下のようなコードを書いたとする。
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int i = scan.nextInt(); double d = scan.nextDouble(); String s = scan.nextLine(); scan.close(); System.out.println("String: " + s); System.out.println("Double: " + d); System.out.println("Int: " + i); } }
入力例は以下。
1
3.14
My name is horoyoisawa.
結果は以下。
String: Double: 3.14 Int: 1
sの中身が空になる。
結構よくあるやつだ。だから一行加えてみる。
String ss = scan.nextLine(); // 追加
String s = scan.nextLine();
こうすると、
String: My name is horoyoisawa. Double: 3.14 Int: 1
となり、望んだ結果が得られる。
見ればわかるように、改行を考慮していなかったことで生まれた間違いだ。
今後気をつけたい。