From b6b5d5f13c96e52039895a313eb51a69a48d7c15 Mon Sep 17 00:00:00 2001 From: SunWenxuan <3148628230@qq.com> Date: Sun, 8 Mar 2026 23:30:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'w1'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w1/TemperatureConverter.java | 94 ++++++++++++------------------------ 1 file changed, 30 insertions(+), 64 deletions(-) diff --git a/w1/TemperatureConverter.java b/w1/TemperatureConverter.java index 6786b7f..fd1fd0b 100644 --- a/w1/TemperatureConverter.java +++ b/w1/TemperatureConverter.java @@ -5,104 +5,70 @@ \paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 import java.io.BufferedReader;\ -import java.io.FileReader;\ -import java.io.File;\ -import java.util.Scanner;\ +\f0\fs24 \cf0 import java.util.Scanner;\ \ /**\ - * \uc0\u28201 \u24230 \u36716 \u25442 \u22120 \u31243 \u24207 \u65288 Java\u65289 \ - * \uc0\u31561 \u25928 \u31227 \u26893 Python\u28201 \u24230 \u36716 \u25442 \u31243 \u24207 \u65292 \u25903 \u25345 \u25668 \u27663 /\u21326 \u27663 \u20114 \u36716 \ - * \uc0\u39069 \u22806 \u25903 \u25345 \u65306 \u21629 \u20196 \u34892 \u21442 \u25968 \u27169 \u24335 \u12289 \u25991 \u20214 \u25209 \u37327 \u36716 \u25442 \u27169 \u24335 \ + * TemperatureConverter\ + * \uc0\u25903 \u25345 \u25668 \u27663 \u24230 (C)\u19982 \u21326 \u27663 \u24230 (F)\u20043 \u38388 \u20114 \u36716 \ */\ public class TemperatureConverter \{\ -\ + \ /**\ * \uc0\u23558 \u25668 \u27663 \u24230 \u36716 \u25442 \u20026 \u21326 \u27663 \u24230 \ - * @param c \uc0\u36755 \u20837 \u30340 \u25668 \u27663 \u28201 \u24230 \u65292 \u25968 \u25454 \u31867 \u22411 \u20026 \u21452 \u31934 \u24230 \u28014 \u28857 \u22411 \ - * @return \uc0\u36716 \u25442 \u21518 \u30340 \u21326 \u27663 \u28201 \u24230 \u65292 \u21452 \u31934 \u24230 \u28014 \u28857 \u22411 \ + * @param c \uc0\u25668 \u27663 \u28201 \u24230 \ + * @return \uc0\u23545 \u24212 \u30340 \u21326 \u27663 \u28201 \u24230 \ */\ public static double celsiusToFahrenheit(double c) \{\ return c * 9.0 / 5.0 + 32.0;\ \}\ -\ + \ /**\ * \uc0\u23558 \u21326 \u27663 \u24230 \u36716 \u25442 \u20026 \u25668 \u27663 \u24230 \ - * @param f \uc0\u36755 \u20837 \u30340 \u21326 \u27663 \u28201 \u24230 \u65292 \u25968 \u25454 \u31867 \u22411 \u20026 \u21452 \u31934 \u24230 \u28014 \u28857 \u22411 \ - * @return \uc0\u36716 \u25442 \u21518 \u30340 \u25668 \u27663 \u28201 \u24230 \u65292 \u21452 \u31934 \u24230 \u28014 \u28857 \u22411 \ + * @param f \uc0\u21326 \u27663 \u28201 \u24230 \ + * @return \uc0\u23545 \u24212 \u30340 \u25668 \u27663 \u28201 \u24230 \ */\ public static double fahrenheitToCelsius(double f) \{\ return (f - 32.0) * 5.0 / 9.0;\ \}\ -\ - /**\ - * \uc0\u25209 \u37327 \u36716 \u25442 \u65306 \u20174 \u25991 \u20214 \u35835 \u21462 \u22810 \u34892 \u28201 \u24230 \u25968 \u25454 \u24182 \u23436 \u25104 \u36716 \u25442 \u65288 \u21152 \u20998 \u39033 \u65289 \ - * @param filename \uc0\u23384 \u20648 \u28201 \u24230 \u25968 \u25454 \u30340 \u25991 \u20214 \u21517 \u65292 \u23383 \u31526 \u20018 \u31867 \u22411 \ - */\ - public static void batchConvert(String filename) \{\ - try (BufferedReader br = new BufferedReader(new FileReader(filename))) \{\ - String line;\ - while ((line = br.readLine()) != null) \{\ - convertAndPrint(line.trim()); // \uc0\u35843 \u29992 \u32479 \u19968 \u36716 \u25442 \u26041 \u27861 \ - \}\ - \} catch (Exception e) \{\ - System.out.println("\uc0\u25991 \u20214 \u35835 \u21462 \u22833 \u36133 \u65306 " + e.getMessage());\ - \}\ - \}\ -\ - /**\ - * \uc0\u32479 \u19968 \u36716 \u25442 \u36923 \u36753 \u65306 \u35299 \u26512 \u36755 \u20837 \u24182 \u36755 \u20986 \u32467 \u26524 \u65288 \u22797 \u29992 \u26680 \u24515 \u36923 \u36753 \u65289 \ - * @param input \uc0\u24453 \u35299 \u26512 \u30340 \u28201 \u24230 \u19982 \u21333 \u20301 \u23383 \u31526 \u20018 \u65292 \u22914 "36.6 C"\ - */\ - public static void convertAndPrint(String input) \{\ + \ + public static void main(String[] args) \{\ + Scanner scanner = new Scanner(System.in);\ + \ + // \uc0\u25552 \u31034 \u29992 \u25143 \u36755 \u20837 \u65292 \u26684 \u24335 \u31034 \u20363 \u65306 "36.6 C" \u25110 "97 F"\ + System.out.print("\uc0\u35831 \u36755 \u20837 \u35201 \u36716 \u25442 \u30340 \u28201 \u24230 \u19982 \u21333 \u20301 \u65288 \u20363 \u22914 36.6 C \u25110 97 F\u65289 \u65306 ");\ + String input = scanner.nextLine().trim();\ + \ if (input.isEmpty()) \{\ - System.out.println("\uc0\u36755 \u20837 \u20026 \u31354 \u65292 \u36339 \u36807 \u36716 \u25442 \u12290 ");\ + System.out.println("\uc0\u36755 \u20837 \u20026 \u31354 \u65292 \u31243 \u24207 \u36864 \u20986 \u12290 ");\ + scanner.close();\ return;\ \}\ + \ String[] parts = input.split("\\\\s+");\ + \ try \{\ + // \uc0\u35299 \u26512 \u25968 \u20540 \u21644 \u21333 \u20301 \ double value = Double.parseDouble(parts[0]);\ - // \uc0\u19982 \u21407 Python\u36923 \u36753 \u19968 \u33268 \u65306 \u26410 \u36755 \u20837 \u21333 \u20301 \u26102 \u40664 \u35748 \u25353 \u25668 \u27663 \u24230 \u22788 \u29702 \ String unit = parts.length > 1 ? parts[1].toUpperCase() : "C";\ \ if (unit.startsWith("C")) \{\ + // \uc0\u20174 \u25668 \u27663 \u24230 \u36716 \u25442 \u20026 \u21326 \u27663 \u24230 \ double f = celsiusToFahrenheit(value);\ System.out.printf("%.2f \'b0C = %.2f \'b0F%n", value, f);\ \} else if (unit.startsWith("F")) \{\ + // \uc0\u20174 \u21326 \u27663 \u24230 \u36716 \u25442 \u20026 \u25668 \u27663 \u24230 \ double c = fahrenheitToCelsius(value);\ System.out.printf("%.2f \'b0F = %.2f \'b0C%n", value, c);\ \} else \{\ System.out.println("\uc0\u26410 \u30693 \u21333 \u20301 \u65292 \u35831 \u20351 \u29992 C \u25110 F\u12290 ");\ \}\ + \ + \} catch (NumberFormatException e) \{\ + System.out.println("\uc0\u36755 \u20837 \u35299 \u26512 \u22833 \u36133 \u65292 \u35831 \u25353 \u31034 \u20363 \u36755 \u20837 \u25968 \u20540 \u19982 \u21333 \u20301 \u65292 \u20363 \u22914 \u65306 36.6 C");\ \} catch (Exception e) \{\ - System.out.println("\uc0\u36755 \u20837 \u35299 \u26512 \u22833 \u36133 \u65292 \u35831 \u25353 \u31034 \u20363 \u36755 \u20837 \u65288 \u22914 36.6 C\u65289 \u12290 ");\ + System.out.println("\uc0\u21457 \u29983 \u38169 \u35823 \u65306 " + e.getMessage());\ + \} finally \{\ + scanner.close();\ \}\ \}\ -\ - /**\ - * \uc0\u31243 \u24207 \u20027 \u20837 \u21475 \u65306 \u25972 \u21512 \u19977 \u31181 \u36816 \u34892 \u27169 \u24335 \ - * @param args \uc0\u21629 \u20196 \u34892 \u21442 \u25968 \u65292 \u25903 \u25345 \u26080 \u21442 \u25968 \u65288 \u20132 \u20114 \u24335 \u65289 \u12289 \u21442 \u25968 \u20026 \u28201 \u24230 \u21333 \u20301 \u65288 \u21629 \u20196 \u34892 \u27169 \u24335 \u65289 \u12289 \u21442 \u25968 \u20026 \u25991 \u20214 \u21517 \u65288 \u25209 \u37327 \u27169 \u24335 \u65289 \ - */\ - public static void main(String[] args) \{\ - // \uc0\u27169 \u24335 1\u65306 \u25209 \u37327 \u25991 \u20214 \u36716 \u25442 \u65288 \u21152 \u20998 \u39033 \u65289 - \u20165 1\u20010 \u21442 \u25968 \u19988 \u20026 \u25991 \u20214 \u26102 \u35302 \u21457 \ - if (args.length == 1 && new File(args[0]).exists()) \{\ - batchConvert(args[0]);\ - return;\ - \}\ -\ - Scanner scanner = new Scanner(System.in);\ - String input;\ -\ - // \uc0\u27169 \u24335 2\u65306 \u21629 \u20196 \u34892 \u21442 \u25968 \u27169 \u24335 \u65288 \u21152 \u20998 \u39033 \u65289 - \u22810 \u21442 \u25968 \u26102 \u30452 \u25509 \u25340 \u25509 \u20026 \u36755 \u20837 \ - if (args.length > 0) \{\ - input = String.join(" ", args);\ - \} else \{\ - // \uc0\u27169 \u24335 3\u65306 \u20132 \u20114 \u24335 \u36755 \u20837 \u65288 \u21407 Python\u26680 \u24515 \u21151 \u33021 \u65292 \u24517 \u20570 \u65289 \ - System.out.print("\uc0\u35831 \u36755 \u20837 \u35201 \u36716 \u25442 \u30340 \u28201 \u24230 \u19982 \u21333 \u20301 \u65288 \u20363 \u22914 36.6 C \u25110 97 F\u65289 \u65306 ");\ - input = scanner.nextLine().trim();\ - \}\ -\ - convertAndPrint(input); // \uc0\u25191 \u34892 \u26680 \u24515 \u36716 \u25442 \ - scanner.close();\ - \}\ \}} \ No newline at end of file