zoukankan      html  css  js  c++  java
  • 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+"
    总偿还金额:"+sumamount);
    12 }
  • 相关阅读:
    Spark在MaxCompute的运行方式
    新功能初探 | MySQL 8.0 Multi-Valued Indexes功能简述
    吐血整理 | 1000行MySQL学习笔记,不怕你不会,就怕你不学!
    阿里巴巴架构师:十问业务中台和我的答案
    C# int?
    页面后退清空缓存
    oracle 中 创建序列sequence
    sql 与 oracle 几个简单语法差别
    oracle 中用法dual
    将DataTable进行分页并生成新的DataTable
  • 原文地址:https://www.cnblogs.com/yqcg/p/10865198.html
Copyright © 2011-2022 走看看