string.charAt异常,1006换个格式输出整数?

图片说明

import java.util.Scanner;

public class B1006 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        int count = str.length();
        for (int y = 3; y >= 1; y--)
        {
            if (count >= y) 
            {
                int x = str.charAt(count - y); 
                /*为什么int x = str.charAt(0),x = 50, 从debug中看到*/
                for (int i = 0; i < x; i++)
                {
                    System.out.print("B");
                }

                for (int i = 0; i < x; i++)
                {
                    System.out.print("S");
                }

                for (int i = 0; i < x; i++)
                {
                    System.out.print(i+1);
                }               
            }           
        }   
        in.close();
    }

}


String.charAt()返回的是char类型,char类型赋给int类型的时候值为char对应的asscii码值。