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. 汉字转为unicode

    在word中输入“立项申请阶段”,将光标移到每字之后时按下组合键Alt+X. 立项申请阶段 7ACB  9879  7533  8BF7  9636  6BB5 \u7ACB\u9879\u7533\ ...

  2. 关于startservice的几个启动返回值的意义

    START_NOT_STICKY 如果服务进程在它启动后(从onStartCommand()返回后)被kill掉, 并且没有新启动的intent传给他, 那么将服务移出启动状态并且不重新生成, 直到再 ...

  3. 软件开发中对MVC的一些理解

    接口隔离 通俗一点讲,接口隔离就是当一个类需要继承另一个类时, 如果被继承的类中有继承的类用不到的方法或者属性时,就不要去实现这个继承.如果真的情非得已必须要继承,那么也需要从被继承的类中再提取出一个 ...

  4. DataSet,DataTable,DataColumn,DataRow的常用操作

    DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...

  5. kolla制作过程中:neutron-sfc-agent 报错的问题

    在使用二进制方式编译镜像的时候,neutron的sfc-agent提示如下错误ERROR:kolla.image.build:neutron-sfc-agent Failed with status: ...

  6. [CentOS7] 增加yum源

    下载最新rpm文件:http://fedoraproject.org/wiki/EPEL 通过源文件rpm来增加: rpm -ivh epel-release-latest-7.noarch.rpm

  7. python 基于 wordcloud + jieba + matplotlib 生成词云

    词云 词云是啥?词云突出一个数据可视化,酷炫.以前以为很复杂,不想python已经有成熟的工具来做词云.而我们要做的就是准备关键词数据,挑一款字体,挑一张模板图片,非常非常无脑.准备好了吗,快跟我一起 ...

  8. c# Relative Path convert to Absolute Path

    Reference: http://stackoverflow.com/questions/4796254/relative-path-to-absolute-path-in-c http://sta ...

  9. Python Day23

    Django之Model操作 一.字段 字段列表 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...

  10. P3379 【模板】最近公共祖先(LCA)(倍增)

    这题有毒!!!!!!!!!! TM我重新打的板子,然而...... 5分钟打完 debug两小时 我的写法常数太大了 每次DFS都要For去更新F 最后写了快读才A 改: 只处理f[i][0] dfs ...