中級 › nextInt の後の nextLine が読み飛ばされる理由 › パターン1
nextInt の後の nextLine が読み飛ばされる理由
改行文字の読み残しが原因です。
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 int n = sc.nextInt(); 7 ______________ ^ 8 String name = sc.nextLine(); 9 System.out.println(n + ":" + name); 10 } 11 }
出力: 5:期待: 5:Taiyo (コンパイルは通っています)
空欄を埋めてビルドを通す
nextInt()は改行を読み残します。次のnextLine()がその改行を拾って空文字になる有名な罠です。
次の問題