Tôi có một chút phiền toái ở đây; trong đó tôi không thể lấy đầu vào đúng cách. Tôi đã luôn nhập thông tin qua Scanner
và không được sử dụng để BufferedReader
.Lấy đầu vào với BufferedReader trong Java
ĐẦU VÀO FORMAT
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.
VÍ DỤ
Input:
2
AbcDef
1 2
abcabc
1 1
Mã của tôi cho đến nay:
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]);
}
}
Khi nhập vào ví dụ trên cho thấy, tôi nhận được kết quả như sau:
AbcDef
9
49
2
9
97
m [0] = inp.read(); đang đọc một byte hoặc một cái gì đó. làm một readline vào một chuỗi và chia nó để có được hai lĩnh vực, sau đó phân tích chúng thành ints. –
'inp.read()' sẽ đọc một ký tự đơn (16 bit) không phải byte (8 bit). –