En prenant les entrées avec les BufferedReader en Java

J'ai un peu ennuyeux cas ici, où je ne suis pas en mesure de prendre l'entrée correctement. J'ai toujours pris de la saisie via le Scanner, et ne suis pas habitué à la BufferedReader.


FORMAT D'ENTRÉE


First line contains T, which is an integer representing the number of test cases.
T cases follow. Each case consists of two lines.

First line has the string S. 
The second line contains two integers M, P separated by a space.

EXEMPLE

Input:
2
AbcDef
1 2
abcabc
1 1

Mon code pour l'instant:


public static void main (String[] args) throws java.lang.Exception
{
    BufferedReader inp = new BufferedReader (new InputStreamReader(System.in));
    int T= Integer.parseInt(inp.readLine());

    for(int i=0;i<T;i++) {
        String s= inp.readLine();
        int[] m= new int[2];
        m[0]=inp.read();
        m[1]=inp.read();

        //Checking whether I am taking the inputs correctly
        System.out.println(s);
        System.out.println(m[0]);
        System.out.println(m[1]);
    }
}

Lors de la saisie de l'exemple ci-dessus le montre, j'obtiens le résultat suivant:

AbcDef
9
49
2
9
97
  • votre m[0]=inp.read(); est la lecture d'un octet ou quelque chose. faire un readline dans une chaîne de caractères et le diviser pour obtenir les deux champs, puis les analyser pour ints.
  • inp.read() va lire un seul caractère(16 bits) un octet(8 bits).
InformationsquelleAutor OneMoreError | 2012-11-16