1

重複の可能性:
nextIntの後にnextLineを使用する場合のスキャナーの問題

sc.nextLine();なぜ夫の下の空虚がそんなに必要なのですか?それは何にも等しくありませんでした、そして確かに妻はその行を持っていませんでした...しかしプログラムはそれなしでは実行されません。私の本は、末尾の改行文字をスキップするとコメントしています。しかし、スキップするものがどのようにあるのかわかりません!

public class FileTest {
    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.print("For your blended family, \n enter the wife's name");
    String wife = sc.nextLine();
    System.out.print("Enter the number of her children:");
    int herkids = sc.nextInt();

    System.out.print("Enter the husband's name:");
    //sc.nextLine();  // Why is this line so necessary? 
    String husband = sc.nextLine();
    System.out.print("Enter the number of his children:");
    int hisKids = sc.nextInt();

    System.out.println(wife + " and " + husband + " have " + (herkids + hisKids) + " children.");

    }
}
4

1 に答える 1

6

この質問をチェックして、

nextXXX の後に nextLine を使用する場合のスキャナーの問題

受け入れられた答えを見て、

「問題はinput.nextInt()コマンドにあり、int値のみを読み取ります。したがって、input.nextLine()で読み取りを続けると、「\ n」Enterキーを受け取ります。したがって、これをスキップするには、入力を追加する必要があります.nextLine().これが今すぐ明確になることを願っています."

于 2012-10-12T21:57:03.907 に答える