2.1(将摄氏温度转换为华氏温度)从控制台读入double型的摄氏温度值,将其转为华氏温度
题目题目概述破题代码块方法评价注意问题控制台读入数据的代码顺序控制台读取数据的代码理解修改日志题目
题目概述
2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度值,将其转为华氏温度,显示结果
转换公式:华氏温度 = (9/5)*摄氏温度+32
运行实例(变相规定输出内容格式):
Enter a degree in Celsius:43.5
43.5 Celsius is 110.3 Fahrenheit
破题
第一步:控制台读入数据(摄氏温度)
第二步:转化为华氏度
第三步:输出
代码块
import java.util.Scanner;public class Test2_1 {public static void main(String[] args) {//第一步:控制台读入数据(摄氏温度)Scanner input = new Scanner(System.in);System.out.println("Enter a degree in Celsius:");double celsius = input.nextDouble();//第二步:转化为华氏度double fahrenheit = (9.0 / 5) * celsius + 32;//第三步:输出System.out.println(celsius+" Celsius is "+ fahrenheit + " Fahrenheit");}}
方法评价
方法没有使用条件判断语句,或try…catch…捕捉异常,无法判断输入的合法性
注意问题
控制台读入数据的代码顺序
第一种:先Scanner再打印,最后input
Scanner input = new Scanner(System.in);System.out.println("Enter a degree in Celsius:");double celsius = input.nextDouble();
第二种:先打印再Scanner,最后input
System.out.println("Enter a degree in Celsius:");Scanner input = new Scanner(System.in);double celsius = input.nextDouble();
总之,最后input是不会变的
控制台读取数据的代码理解
把上面第一种粘过来:
Scanner input① = new Scanner(System.in);System.out.println("Enter a degree in Celsius:");double celsius = input①.nextDouble();
①这两个位置必须一样,可以是input、可以是Scanner、也可以是inputScanner(一般Eclipse特别喜欢加上Scanner),这里可以看做控制台接收数据的变量
②如何记忆:在理解①的基础上,记忆第一句、第三句等号后、顺序
修改日志
/8/18 15:08——增加“方法评价”
Java黑皮书课后题第2章:2.1(将摄氏温度转换为华氏温度)编写程序 从控制台读入double型的摄氏温度值 将其转为华氏温度 显示结果