diff --git a/w1 b/w1 new file mode 100644 index 0000000..200b318 --- /dev/null +++ b/w1 @@ -0,0 +1,37 @@ +import java.io.File; +import java.io.FileNotFoundException; +import java.util.Scanner; +public class TemperatureConverter{ + public static double c2f(double c){return c*9/5+32;} + public static double f2c(double f){return (f-32)*5/9;} + public static void conv(String s){ + s=s.trim(); + if(s.isEmpty()){System.out.println("输入为空,跳过。");return;} + String[]a=s.split("\\s+"); + try{ + double v=Double.parseDouble(a[0]); + String u=a.length>1?a[1].toUpperCase():"C"; + if(u.startsWith("C"))System.out.printf("%.1f°C=%.2f°F%n",v,c2f(v)); + else if(u.startsWith("F"))System.out.printf("%.1f°F=%.2f°C%n",v,f2c(v)); + else System.out.println("未知单位:"+u); + }catch(Exception e){System.out.println("格式错误:"+s);} + } + public static void batch(String f){ + try(Scanner sc=new Scanner(new File(f))){ + System.out.println("批量转换:"+f); + int i=0; + while(sc.hasNextLine()){i++;System.out.print("第"+i+"行:");conv(sc.nextLine());} + System.out.println("转换完成"); + }catch(FileNotFoundException e){System.out.println("文件不存在");} + } + public static void main(String[]a){ + if(a.length==0){ + Scanner sc=new Scanner(System.in); + System.out.print("输入温度(如36.6C):"); + conv(sc.nextLine()); + sc.close(); + }else if(a.length==2)conv(a[0]+" "+a[1]); + else if(a.length==1)batch(a[0]); + else System.out.println("用法:\n1.java TemperatureConverter\n2.java TemperatureConverter 36.6 C\n3.java TemperatureConverter file.txt"); + } +} \ No newline at end of file