Enter 103 100 and
If you print out System.out.println, you get 15 When output to BufferedWriter, strange characters are output.
What's the reason?
Thank you!
package math;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;
import java.util.StringTokenizer;
public class CodeRunner{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = br.readLine();
StringTokenizer st = new StringTokenizer(s);
double A = Double.parseDouble(st.nextToken());
double B = Double.parseDouble(st.nextToken());
double V = Double.parseDouble(st.nextToken());
int day = 0;
double length = 0;
length = A-B;
day = (int)Math.ceil(V/length);
System.out.println(day);
bw.write(day);
bw.flush();
}
}
Convert day to String type and write it.
bw.write(String.valueOf(day));
The reason is that reader/writer is a class that deals with strings.
If you put an integer value here, it's encoded in ascii type by default.
65 is A, so if you want to check it, you can check the output of A with bw.write(65);
.
© 2024 OneMinuteCode. All rights reserved.