4 changed files with 46 additions and 0 deletions
Binary file not shown.
Binary file not shown.
@ -0,0 +1,46 @@ |
|||
import java.util.Scanner;//导入输入工具
|
|||
public class Tempconvert {//类名与文件名相等
|
|||
public static float c2f(float c) { |
|||
return c * 9 / 5 + 32;//定义摄氏度转华氏度函数
|
|||
} |
|||
|
|||
public static float f2c(float f) { |
|||
return (f - 32) * 5 / 9;//定义华氏度转摄氏度函数
|
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
Scanner sc = new Scanner(System.in);//打开输入通道(固定)
|
|||
System.out.println("请输入要转换的温度与单位(例如 36.6 C 或 97 F)");//写提示语
|
|||
String input = sc.nextLine(); // 接收输入
|
|||
sc.close(); |
|||
if (input.isEmpty()) {//处理空输入
|
|||
System.out.println("输入为空,程序退出。"); |
|||
return; |
|||
}//
|
|||
String[] parts = input.split(" ");//将输入的字符串按空格分割成字符串数组
|
|||
float wd; |
|||
String dw; |
|||
try { |
|||
wd = Float.parseFloat(parts[0]);//将数组第一个元素(数值字符串)转为 float,赋值给 wd
|
|||
dw = parts.length > 1 ? parts[1].toUpperCase() : "C";//
|
|||
} catch (Exception e) {//如果数组长度 > 1,则取第二个元素并转大写赋值给 dw;否则默认单位为 "C"
|
|||
System.out.println("输入解析失败,请按示例输入数值与单位,例如:36.6 C");//
|
|||
return; |
|||
} |
|||
|
|||
float result;//定义两个变量:result 用于保存转换后的温度值。
|
|||
String resultUnit;//resultUnit 用于保存转换后的单位
|
|||
if (dw.equals("C")) {//判断单位 dw 是否以 "C" 开头
|
|||
result = c2f(wd); |
|||
resultUnit = "F"; |
|||
} else if (dw.equals("F")) {//若单位是“F”
|
|||
result = f2c(wd); |
|||
resultUnit = "C"; |
|||
} else {//未知单位
|
|||
System.out.println("未知单位,请使用 C 或 F"); |
|||
return; |
|||
} |
|||
// 修正:使用 printf 格式化输出
|
|||
System.out.printf("转换结果:%.1f %s%n", result, resultUnit); |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 541 KiB |
Loading…
Reference in new issue