2.1   注意不同类型转换

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double f = sc.nextDouble();
double t = (5.0/9)*(f-32); // 注意 (5/9) 结果为 整形 要写成 (5.0/9)
System.out.println(t)
}

2.2

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入圆柱体半径和高:");
double r = sc.nextDouble();
double h = sc.nextDouble();
double v = Math.PI * r * r * h; //圆周率方法 Math.PI
System.out.println(v);
}

2.3

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入体重和身高:");
double g = sc.nextDouble();
double h = sc.nextDouble();
double BMI = g / (h * h);
System.out.println(BMI);
}

2.4  使用 循环 每次对 个位 取数相加 取数后 除以10 使前一位 变为 个位 继续 判断小于等于0时停止

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
int sum = 0;
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
while (num1 > 0) // 与 0 比较 判断 是否 需要 取数
{
sum += (num1%10); // 通过取余 获得个位数字
num1 /= 10; // 每次取余后 除以10
}
System.out.println(sum);
}

2.5  注意 System.currentTimeMillis()方法 返回 long 形 需要转换为 int 形

 public class Ch02 {
public static void main(String[] args) {
// 通过 System.currentTimeMillis() 方法 获得 从1970年1月1日 00:00:00 到现在的 毫秒数
// 28800000 是 格林时间 与 我们 时区 的 时间差值
// 对 86400000 取余 是 把 满一天的时间都去掉 获取多出来的不足一天的时间
int t = (int)((System.currentTimeMillis()+28800000)%86400000);
int hour = t/3600000; // 除 3600000 获取满小时的个数 即 求小时 为几点
int mine = t%3600000/60000; // 计算 不足一小时 的时间 里 有多少分钟
int s = t%3600000%60000/1000; // 计算不足一分钟的时间里 有多少秒 不要忘记 除以 1000 (因为 单位 为 毫秒)
System.out.println("当前时间: "+hour+":"+mine+":"+s+" GMT");
}

2.6  a 不能为 0

  b2 - 4 * a * c  不能为 0

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
double sum,a,b,c,t;
Scanner sc = new Scanner(System.in);
while (true) {
a = sc.nextDouble();
b = sc.nextDouble();
c = sc.nextDouble();
t = b*b-4*a*c;
if (a == 0) {
System.out.println("a 不能为 0,请重新测试 ^_^");
} else if (t < 0) {
System.out.println("b*b-4*a*c不能为0,请重新测试");
}
else
{
break;
}
}
sum = ((-b+Math.sqrt(t)/(2*a))); //( 2*a ) 注意加括号
System.out.println(sum);

2.7  注意计算公式先后顺序  多使用小括号

 import java.util.Scanner;

 public class Ch02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double yrate = sc.nextDouble();
double amount = sc.nextDouble();
double year = sc.nextDouble();
double month = (amount * (yrate/12))/(1-(1/Math.pow(1+yrate/12,year*12)));
double sumamount = month*12*year;
System.out.println("月支付金额:"+month+"\n总偿还金额:"+sumamount);
}

Java语言程序设计(第三版)第二章课后习题答案(仅供参考)的更多相关文章

  1. C语言程序设计:现代方法(第2版)第二章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  2. Python核心编程第三版第二章学习笔记

    第二章 网络编程 1.学习笔记 2.课后习题 答案是按照自己理解和查阅资料来的,不保证正确性.如由错误欢迎指出,谢谢 1. 套接字:A network socket is an endpoint of ...

  3. C语言程序设计·谭浩强(第四版)第二章课后习题的答案,算法——程序的灵魂

    C语言程序小练习 1.用C语言设计程序算出1-1/2+1/3-14+1/5...+1/99-1/100的值 #include<stdio.h> int main() { ; double ...

  4. 梁勇Java语言程序设计第三章全部例题 为第五次作业

    完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...

  5. Java语言程序设计(基础篇) 第六章 方法

    第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...

  6. Java编程思想第四版第二章练习题答案

    练习1:创建一个类,它包含一个int域和一个char域,它们都没有被初始化.将他们的值打印出来,以验证Java执行了默认初始化 public class JavaThinking { private ...

  7. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  8. Java语言程序设计(基础篇) 第五章 循环

    第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...

  9. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

随机推荐

  1. JS中数组方法小总结

    1.array.concat(item……) 返回:一个新数组 该方法产生一个新数组,它包含一份array的浅复制,并把一个或多个参数item附加在其后.如果参数item是一个数组,那么它的每个元素会 ...

  2. CentOS 7 配置 ISCSI 服务器

    一.服务器配置 1.安装配置软件: yum install targetcli -y 2.进入配置界面: targetcli ,并进行如下配置: 1) /backstores/block create ...

  3. C++使用RabbitMQ类库做客户端与RabbitMQ Server通讯,生成C++可调用的rabbimq.*.dll的过程

    Step: download the latest rabbitmq-c via: https://github.com/alanxz/rabbitmq-c follow the document, ...

  4. 35.windows提权总结

    本文参考自冷逸大佬的博客,源地址在这里:https://lengjibo.github.io/windows%E6%8F%90%E6%9D%83%E6%80%BB%E7%BB%93/ windows提 ...

  5. 2. Web渗透测试中常见逻辑漏洞解析与实战

    注:以下漏洞示例已由相关厂商修复,切勿非法测试! 0x01 漏洞挖掘 01  注册 注册中最常见的有两个,一个是恶意注册,另一个是账户遍历.一个好的注册界面应该是这样 或者这样的 而不是这样的 要么使 ...

  6. hdu1048

    #include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main( ...

  7. [转][译]ASP.NET MVC 4 移动特性

    此教程将讨论ASP.NET MVC 4 Web应用程序里的移动特性.对于此教程,可以使用 Visual Studio Express 2012 或者 Visual Web Developer 2010 ...

  8. EasyOffice-.NetCore一行代码导入导出Excel,生成Word

    简介 Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差 ...

  9. NetCore 学习笔记(DI 实例生命周期)

    Transient: 每一次GetService都会创建一个新的实例 Scoped:    在同一个Scope内只初始化一个实例,同一个请求内只会被创建一次 Singleton :整个应用程序生命周期 ...

  10. PHP开源系统学习之fluxbb_2

    谴责下某位同学,转载了我的上一篇文章,也不给个原文地址,希望这次再来转时能加上. //检查登录,在common.php判断 //cookie串: 2|dc4fab5bb354be5104bae0aff ...