The following code works fine when I'm hard coding the input values in the code. But when I get input through keyboard, the value of l[i] and r[i] get assigned to "the desired value"+48. I don't know why this is happening. Please help me in finding a solution.
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class RichieRich {
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    int k = in.nextInt();
    int i,j;
    int number = in.nextInt();
    String numb = Integer.toString(number);
    char[] num = numb.toCharArray();
    int siz = n/2;
    int[] l = new int[siz];
    int[] r = new int[siz];
    for(i=0; i<siz; i++)
    {
        l[i] = num[i];    /*PROBLEM IS HERE*/
    }
    for(i=0, j=n-1; i<siz; i++, j--)
    {
        r[i] = num[j];    /*AND HERE*/
    }
    int count=0;
    for(i=0; i<siz; i++)
    {
        if(l[i] != r[i])
        {
            count++;
        }
    }
    int cose;
    if(k+1 == count)
    {
        cose = 0;
    }
    else if(k>=count)
    {
        cose = 1;
    }
    else
    {
        cose = -1;
    }
    switch(cose)
    {
        case 0:
        {
            int max = 0;
            for(i=0;i<siz;i++)
            {
                if(l[i] > max)
                {
                    max = l[i];
                }
                if(r[i] > max)
                {
                    max = r[i];
                }
            }
            for(i=0; i<siz; i++)
            {
                if(l[i] != r[i])
                {
                    l[i] = max;
                    r[i] = max;
                }
            }
            for(i=0 ; i<siz; i++)
            {
                System.out.println(l[i]);
            }
            for(i=0 ; i<siz; i++)
            {
                System.out.println(r[i]);
            }
        }
        case 1:
        {
            int max = 0;
            for(i=0 ; i<n; i++)
            {
                if(num[i] > max)
                {
                    max = num[i];
                }
                if(l[i] != r[i])
                {
                    l[i] = max;
                    r[i] = max;
                }
            }
            for(i=0 ; i<siz; i++)
            {
                System.out.println(l[i]);
            }
            for(i=0 ; i<siz; i++)
            {
                System.out.println(r[i]);
            }
        }
        case -1:
        {
            System.out.println("-1");
        }
    }
}
}
 
    