0
package newproj;

import java.util.Scanner;

public class MyFirstClass 

{

    public static void main(String[] args) 
    {
        char a;
        int b;
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter value b: ");
        b= sc.nextInt();
        System.out.print("Enter char: ");
        a = sc.nextLine().charAt(0);
        System.out.println("This is "+a);
    }

}

実行時にコンソールに反映されるエラーは、スレッド「メイン」の例外 java.lang.StringIndexOutOfBoundsException: String index out of range: -1 です。

整数をスキャンした後に文字をスキャンする方法を教えてもらえますか? C プログラミングでは、scanf 関数を支援する「fflush(stdin)」があります。それで、代わりに改行文字がスキャンされたという線に沿って考えていました。

4

2 に答える 2

1

次のようにコードを変更します

    char a;
    int b;
    Scanner sc = new Scanner(System.in);
    Scanner sc1 = new Scanner(System.in);
    System.out.print("Enter value b: ");
    b= sc.nextInt();
    System.out.print("Enter char: ");
    a = sc1.nextLine().charAt(0);
    System.out.println("This is "+a);
于 2013-09-06T09:48:11.490 に答える