diff --git a/w1/TemperatureConverter.java b/w1/TemperatureConverter.java index 658eef6..68b6f26 100644 --- a/w1/TemperatureConverter.java +++ b/w1/TemperatureConverter.java @@ -1,72 +1,192 @@ {\rtf1\ansi\ansicpg936\cocoartf2822 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset134 PingFangSC-Regular;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \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.util.Scanner;\ +\f0\fs24 \cf0 import java.io.BufferedReader;\ +import java.io.FileReader;\ +import java.io.File;\ +import java.util.Scanner;\ \ /**\ - * \uc0\u25903 \u25345 \u25668 \u27663 \u24230 (C)\u19982 \u21326 \u27663 \u24230 (F)\u20043 \u38388 \u20114 \u36716 \ + * +\f1 \'ce\'c2\'b6\'c8\'d7\'aa\'bb\'bb\'c6\'f7\'b3\'cc\'d0\'f2\'a3\'a8 +\f0 Java +\f1 \'a3\'a9 +\f0 \ + * +\f1 \'b5\'c8\'d0\'a7\'d2\'c6\'d6\'b2 +\f0 Python +\f1 \'ce\'c2\'b6\'c8\'d7\'aa\'bb\'bb\'b3\'cc\'d0\'f2\'a3\'ac\'d6\'a7\'b3\'d6\'c9\'e3\'ca\'cf +\f0 / +\f1 \'bb\'aa\'ca\'cf\'bb\'a5\'d7\'aa +\f0 \ + * +\f1 \'b6\'ee\'cd\'e2\'d6\'a7\'b3\'d6\'a3\'ba\'c3\'fc\'c1\'ee\'d0\'d0\'b2\'ce\'ca\'fd\'c4\'a3\'ca\'bd\'a1\'a2\'ce\'c4\'bc\'fe\'c5\'fa\'c1\'bf\'d7\'aa\'bb\'bb\'c4\'a3\'ca\'bd +\f0 \ */\ public class TemperatureConverter \{\ \ /**\ - * \uc0\u23558 \u25668 \u27663 \u24230 \u36716 \u25442 \u20026 \u21326 \u27663 \u24230 \ - * @param c \uc0\u25668 \u27663 \u28201 \u24230 \ - * @return \uc0\u23545 \u24212 \u30340 \u21326 \u27663 \u28201 \u24230 \ + * +\f1 \'bd\'ab\'c9\'e3\'ca\'cf\'b6\'c8\'d7\'aa\'bb\'bb\'ce\'aa\'bb\'aa\'ca\'cf\'b6\'c8 +\f0 \ + * @param c +\f1 \'ca\'e4\'c8\'eb\'b5\'c4\'c9\'e3\'ca\'cf\'ce\'c2\'b6\'c8\'a3\'ac\'ca\'fd\'be\'dd\'c0\'e0\'d0\'cd\'ce\'aa\'cb\'ab\'be\'ab\'b6\'c8\'b8\'a1\'b5\'e3\'d0\'cd +\f0 \ + * @return +\f1 \'d7\'aa\'bb\'bb\'ba\'f3\'b5\'c4\'bb\'aa\'ca\'cf\'ce\'c2\'b6\'c8\'a3\'ac\'cb\'ab\'be\'ab\'b6\'c8\'b8\'a1\'b5\'e3\'d0\'cd +\f0 \ */\ 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\u21326 \u27663 \u28201 \u24230 \ - * @return \uc0\u23545 \u24212 \u30340 \u25668 \u27663 \u28201 \u24230 \ + * +\f1 \'bd\'ab\'bb\'aa\'ca\'cf\'b6\'c8\'d7\'aa\'bb\'bb\'ce\'aa\'c9\'e3\'ca\'cf\'b6\'c8 +\f0 \ + * @param f +\f1 \'ca\'e4\'c8\'eb\'b5\'c4\'bb\'aa\'ca\'cf\'ce\'c2\'b6\'c8\'a3\'ac\'ca\'fd\'be\'dd\'c0\'e0\'d0\'cd\'ce\'aa\'cb\'ab\'be\'ab\'b6\'c8\'b8\'a1\'b5\'e3\'d0\'cd +\f0 \ + * @return +\f1 \'d7\'aa\'bb\'bb\'ba\'f3\'b5\'c4\'c9\'e3\'ca\'cf\'ce\'c2\'b6\'c8\'a3\'ac\'cb\'ab\'be\'ab\'b6\'c8\'b8\'a1\'b5\'e3\'d0\'cd +\f0 \ */\ public static double fahrenheitToCelsius(double f) \{\ return (f - 32.0) * 5.0 / 9.0;\ \}\ \ - public static void main(String[] args) \{\ - Scanner scanner = new Scanner(System.in);\ -\ - // \uc0\u25552 \u31034 \u29992 \u25143 \u36755 \u20837 \u65292 \u26684 \u24335 \u31034 \u20363 : "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 : ");\ - String s = scanner.nextLine().trim();\ + /**\ + * +\f1 \'c5\'fa\'c1\'bf\'d7\'aa\'bb\'bb\'a3\'ba\'b4\'d3\'ce\'c4\'bc\'fe\'b6\'c1\'c8\'a1\'b6\'e0\'d0\'d0\'ce\'c2\'b6\'c8\'ca\'fd\'be\'dd\'b2\'a2\'cd\'ea\'b3\'c9\'d7\'aa\'bb\'bb\'a3\'a8\'bc\'d3\'b7\'d6\'cf\'ee\'a3\'a9 +\f0 \ + * @param filename +\f1 \'b4\'e6\'b4\'a2\'ce\'c2\'b6\'c8\'ca\'fd\'be\'dd\'b5\'c4\'ce\'c4\'bc\'fe\'c3\'fb\'a3\'ac\'d7\'d6\'b7\'fb\'b4\'ae\'c0\'e0\'d0\'cd +\f0 \ + */\ + public static void batchConvert(String filename) \{\ + try (BufferedReader br = new BufferedReader(new FileReader(filename))) \{\ + String line;\ + while ((line = br.readLine()) != null) \{\ + convertAndPrint(line.trim()); // +\f1 \'b5\'f7\'d3\'c3\'cd\'b3\'d2\'bb\'d7\'aa\'bb\'bb\'b7\'bd\'b7\'a8 +\f0 \ + \}\ + \} catch (Exception e) \{\ + System.out.println(" +\f1 \'ce\'c4\'bc\'fe\'b6\'c1\'c8\'a1\'ca\'a7\'b0\'dc\'a3\'ba +\f0 " + e.getMessage());\ + \}\ + \}\ \ - if (s.isEmpty()) \{\ - System.out.println("\uc0\u36755 \u20837 \u20026 \u31354 \u65292 \u31243 \u24207 \u36864 \u20986 \u12290 ");\ + /**\ + * +\f1 \'cd\'b3\'d2\'bb\'d7\'aa\'bb\'bb\'c2\'df\'bc\'ad\'a3\'ba\'bd\'e2\'ce\'f6\'ca\'e4\'c8\'eb\'b2\'a2\'ca\'e4\'b3\'f6\'bd\'e1\'b9\'fb\'a3\'a8\'b8\'b4\'d3\'c3\'ba\'cb\'d0\'c4\'c2\'df\'bc\'ad\'a3\'a9 +\f0 \ + * @param input +\f1 \'b4\'fd\'bd\'e2\'ce\'f6\'b5\'c4\'ce\'c2\'b6\'c8\'d3\'eb\'b5\'a5\'ce\'bb\'d7\'d6\'b7\'fb\'b4\'ae\'a3\'ac\'c8\'e7 +\f0 "36.6 C"\ + */\ + public static void convertAndPrint(String input) \{\ + if (input.isEmpty()) \{\ + System.out.println(" +\f1 \'ca\'e4\'c8\'eb\'ce\'aa\'bf\'d5\'a3\'ac\'cc\'f8\'b9\'fd\'d7\'aa\'bb\'bb\'a1\'a3 +\f0 ");\ return;\ \}\ -\ - String[] parts = s.split("\\\\s+"); // \uc0\u25353 \u20219 \u24847 \u31354 \u30333 \u23383 \u31526 \u20998 \u21106 \ - double value;\ - String unit;\ -\ + String[] parts = input.split("\\\\s+");\ try \{\ - // \uc0\u20801 \u35768 \u29992 \u25143 \u36755 \u20837 \u20004 \u20010 \u37096 \u20998 : \u25968 \u20540 \u19982 \u21333 \u20301 \ - value = Double.parseDouble(parts[0]);\ - unit = (parts.length > 1) ? parts[1].toUpperCase() : "C";\ + double value = Double.parseDouble(parts[0]);\ + // +\f1 \'d3\'eb\'d4\'ad +\f0 Python +\f1 \'c2\'df\'bc\'ad\'d2\'bb\'d6\'c2\'a3\'ba\'ce\'b4\'ca\'e4\'c8\'eb\'b5\'a5\'ce\'bb\'ca\'b1\'c4\'ac\'c8\'cf\'b0\'b4\'c9\'e3\'ca\'cf\'b6\'c8\'b4\'a6\'c0\'ed +\f0 \ + String unit = parts.length > 1 ? parts[1].toUpperCase() : "C";\ + \ + if (unit.startsWith("C")) \{\ + double f = celsiusToFahrenheit(value);\ + System.out.printf("%.2f \'b0C = %.2f \'b0F%n", value, f);\ + \} else if (unit.startsWith("F")) \{\ + double c = fahrenheitToCelsius(value);\ + System.out.printf("%.2f \'b0F = %.2f \'b0C%n", value, c);\ + \} else \{\ + System.out.println(" +\f1 \'ce\'b4\'d6\'aa\'b5\'a5\'ce\'bb\'a3\'ac\'c7\'eb\'ca\'b9\'d3\'c3 +\f0 C +\f1 \'bb\'f2 +\f0 F +\f1 \'a1\'a3 +\f0 ");\ + \}\ \} catch (Exception 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 : 36.6 C");\ + System.out.println(" +\f1 \'ca\'e4\'c8\'eb\'bd\'e2\'ce\'f6\'ca\'a7\'b0\'dc\'a3\'ac\'c7\'eb\'b0\'b4\'ca\'be\'c0\'fd\'ca\'e4\'c8\'eb\'a3\'a8\'c8\'e7 +\f0 36.6 C +\f1 \'a3\'a9\'a1\'a3 +\f0 ");\ + \}\ + \}\ +\ + /**\ + * +\f1 \'b3\'cc\'d0\'f2\'d6\'f7\'c8\'eb\'bf\'da\'a3\'ba\'d5\'fb\'ba\'cf\'c8\'fd\'d6\'d6\'d4\'cb\'d0\'d0\'c4\'a3\'ca\'bd +\f0 \ + * @param args +\f1 \'c3\'fc\'c1\'ee\'d0\'d0\'b2\'ce\'ca\'fd\'a3\'ac\'d6\'a7\'b3\'d6\'ce\'de\'b2\'ce\'ca\'fd\'a3\'a8\'bd\'bb\'bb\'a5\'ca\'bd\'a3\'a9\'a1\'a2\'b2\'ce\'ca\'fd\'ce\'aa\'ce\'c2\'b6\'c8\'b5\'a5\'ce\'bb\'a3\'a8\'c3\'fc\'c1\'ee\'d0\'d0\'c4\'a3\'ca\'bd\'a3\'a9\'a1\'a2\'b2\'ce\'ca\'fd\'ce\'aa\'ce\'c4\'bc\'fe\'c3\'fb\'a3\'a8\'c5\'fa\'c1\'bf\'c4\'a3\'ca\'bd\'a3\'a9 +\f0 \ + */\ + public static void main(String[] args) \{\ + // +\f1 \'c4\'a3\'ca\'bd +\f0 1 +\f1 \'a3\'ba\'c5\'fa\'c1\'bf\'ce\'c4\'bc\'fe\'d7\'aa\'bb\'bb\'a3\'a8\'bc\'d3\'b7\'d6\'cf\'ee\'a3\'a9 +\f0 - +\f1 \'bd\'f6 +\f0 1 +\f1 \'b8\'f6\'b2\'ce\'ca\'fd\'c7\'d2\'ce\'aa\'ce\'c4\'bc\'fe\'ca\'b1\'b4\'a5\'b7\'a2 +\f0 \ + if (args.length == 1 && new File(args[0]).exists()) \{\ + batchConvert(args[0]);\ return;\ \}\ \ - if (unit.startsWith("C")) \{\ - // \uc0\u20174 \u25668 \u27663 \u24230 \u36716 \u25442 \u20026 \u21326 \u27663 \u24230 \ - double f = celsiusToFahrenheit(value);\ - System.out.printf("%.1f \'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("%.1f \'b0F = %.2f \'b0C%n", value, c);\ + Scanner scanner = new Scanner(System.in);\ + String input;\ +\ + // +\f1 \'c4\'a3\'ca\'bd +\f0 2 +\f1 \'a3\'ba\'c3\'fc\'c1\'ee\'d0\'d0\'b2\'ce\'ca\'fd\'c4\'a3\'ca\'bd\'a3\'a8\'bc\'d3\'b7\'d6\'cf\'ee\'a3\'a9 +\f0 - +\f1 \'b6\'e0\'b2\'ce\'ca\'fd\'ca\'b1\'d6\'b1\'bd\'d3\'c6\'b4\'bd\'d3\'ce\'aa\'ca\'e4\'c8\'eb +\f0 \ + if (args.length > 0) \{\ + input = String.join(" ", args);\ \} else \{\ - System.out.println("\uc0\u26410 \u30693 \u21333 \u20301 \u65292 \u35831 \u20351 \u29992 C \u25110 F\u12290 ");\ + // +\f1 \'c4\'a3\'ca\'bd +\f0 3 +\f1 \'a3\'ba\'bd\'bb\'bb\'a5\'ca\'bd\'ca\'e4\'c8\'eb\'a3\'a8\'d4\'ad +\f0 Python +\f1 \'ba\'cb\'d0\'c4\'b9\'a6\'c4\'dc\'a3\'ac\'b1\'d8\'d7\'f6\'a3\'a9 +\f0 \ + System.out.print(" +\f1 \'c7\'eb\'ca\'e4\'c8\'eb\'d2\'aa\'d7\'aa\'bb\'bb\'b5\'c4\'ce\'c2\'b6\'c8\'d3\'eb\'b5\'a5\'ce\'bb\'a3\'a8\'c0\'fd\'c8\'e7 +\f0 36.6 C +\f1 \'bb\'f2 +\f0 97 F +\f1 \'a3\'a9\'a3\'ba +\f0 ");\ + input = scanner.nextLine().trim();\ \}\ \ + convertAndPrint(input); // +\f1 \'d6\'b4\'d0\'d0\'ba\'cb\'d0\'c4\'d7\'aa\'bb\'bb +\f0 \ scanner.close();\ \}\ \}} \ No newline at end of file