Я новичок в Java, поэтому спасибо за помощь!
public static int convert (String value) {
int temp_convert = 0;
// Setting up new Scanner to read the User-input string
Scanner token = new Scanner(value);
// Take out the word "CONVERT"
String fnc = token.next();
// Get the temperature that needs to be converted
int temp = token.nextInt();
// Current unit of temperature
String type = token.next().toLowerCase();
if (type.equals("f")) {
temp_convert = (int) Math.round((temp - 32)/1.8);
System.out.println(temp_convert + "C");
} else if (type.equals("c")) {
temp_convert = (int) Math.round(1.8 * temp + 32);
System.out.println(temp_convert + "F");
}
return temp_convert;
}
Я пытаюсь получить результат печати этого метода в выходной файл, используя PrintStream. Мне нужно, чтобы все строки, напечатанные в этом методе, были распечатаны в выходной файл. Как я могу это сделать? Это код, который у меня есть, но он пока ничего не генерирует в файле .txt.
public static void readFile (Scanner console, String file_input) throws FileNotFoundException {
// Setting up new Scanner to scan the file
Scanner input = new Scanner (file_input);
// Prompt user for output file's name
System.out.print("Output file name: ");
String name_output = console.next();
PrintStream file_output = new PrintStream(new File(name_output));
System.out.println("YazLang program interpreted and output to .txt file!");
System.out.println();
while (input.hasNext()) {
String value = input.nextLine().toLowerCase();
if (value.startsWith("convert")) {
int concert_temp = convert(value);
file_output.println(concert_temp);
} else if (value.startsWith("range")) {
range(value);
} else if (value.startsWith("repeat")) {
repeat(value);
}
}
}