Java语言程序设计(第三版)第二章课后习题答案(仅供参考)
Posted yqcg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言程序设计(第三版)第二章课后习题答案(仅供参考)相关的知识,希望对你有一定的参考价值。
2.1 注意不同类型转换
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 double f = sc.nextDouble(); 7 double t = (5.0/9)*(f-32); // 注意 (5/9) 结果为 整形 要写成 (5.0/9) 8 System.out.println(t) 9 }
2.2
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 System.out.println("请输入圆柱体半径和高:"); 7 double r = sc.nextDouble(); 8 double h = sc.nextDouble(); 9 double v = Math.PI * r * r * h; //圆周率方法 Math.PI 10 System.out.println(v); 11 }
2.3
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 System.out.println("请输入体重和身高:"); 7 double g = sc.nextDouble(); 8 double h = sc.nextDouble(); 9 double BMI = g / (h * h); 10 System.out.println(BMI); 11 }
2.4 使用 循环 每次对 个位 取数相加 取数后 除以10 使前一位 变为 个位 继续 判断小于等于0时停止
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 int sum = 0; 6 Scanner sc = new Scanner(System.in); 7 int num1 = sc.nextInt(); 8 while (num1 > 0) // 与 0 比较 判断 是否 需要 取数 9 { 10 sum += (num1%10); // 通过取余 获得个位数字 11 num1 /= 10; // 每次取余后 除以10 12 } 13 System.out.println(sum); 14 }
2.5 注意 System.currentTimeMillis()方法 返回 long 形 需要转换为 int 形
1 public class Ch02 { 2 public static void main(String[] args) { 3 // 通过 System.currentTimeMillis() 方法 获得 从1970年1月1日 00:00:00 到现在的 毫秒数 4 // 28800000 是 格林时间 与 我们 时区 的 时间差值 5 // 对 86400000 取余 是 把 满一天的时间都去掉 获取多出来的不足一天的时间 6 int t = (int)((System.currentTimeMillis()+28800000)%86400000); 7 int hour = t/3600000; // 除 3600000 获取满小时的个数 即 求小时 为几点 8 int mine = t%3600000/60000; // 计算 不足一小时 的时间 里 有多少分钟 9 int s = t%3600000%60000/1000; // 计算不足一分钟的时间里 有多少秒 不要忘记 除以 1000 (因为 单位 为 毫秒) 10 System.out.println("当前时间: "+hour+":"+mine+":"+s+" GMT"); 11 }
2.6 a 不能为 0
b2 - 4 * a * c 不能为 0
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 double sum,a,b,c,t; 6 Scanner sc = new Scanner(System.in); 7 while (true) { 8 a = sc.nextDouble(); 9 b = sc.nextDouble(); 10 c = sc.nextDouble(); 11 t = b*b-4*a*c; 12 if (a == 0) { 13 System.out.println("a 不能为 0,请重新测试 ^_^"); 14 } else if (t < 0) { 15 System.out.println("b*b-4*a*c不能为0,请重新测试"); 16 } 17 else 18 { 19 break; 20 } 21 } 22 sum = ((-b+Math.sqrt(t)/(2*a))); //( 2*a ) 注意加括号 23 System.out.println(sum);
2.7 注意计算公式先后顺序 多使用小括号
1 import java.util.Scanner; 2 3 public class Ch02 { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 double yrate = sc.nextDouble(); 7 double amount = sc.nextDouble(); 8 double year = sc.nextDouble(); 9 double month = (amount * (yrate/12))/(1-(1/Math.pow(1+yrate/12,year*12))); 10 double sumamount = month*12*year; 11 System.out.println("月支付金额:"+month+"\n总偿还金额:"+sumamount); 12 }
以上是关于Java语言程序设计(第三版)第二章课后习题答案(仅供参考)的主要内容,如果未能解决你的问题,请参考以下文章
谭浩强版C语言程序设计(第三版)课后习题完整答案附源码--高等教育出版社