Java语言程序设计(第三版)第二章课后习题答案(仅供参考)
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语言程序设计(第三版)第二章课后习题答案(仅供参考)的更多相关文章
- C语言程序设计:现代方法(第2版)第二章全部习题答案
前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...
- Python核心编程第三版第二章学习笔记
第二章 网络编程 1.学习笔记 2.课后习题 答案是按照自己理解和查阅资料来的,不保证正确性.如由错误欢迎指出,谢谢 1. 套接字:A network socket is an endpoint of ...
- C语言程序设计·谭浩强(第四版)第二章课后习题的答案,算法——程序的灵魂
C语言程序小练习 1.用C语言设计程序算出1-1/2+1/3-14+1/5...+1/99-1/100的值 #include<stdio.h> int main() { ; double ...
- 梁勇Java语言程序设计第三章全部例题 为第五次作业
完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...
- Java语言程序设计(基础篇) 第六章 方法
第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...
- Java编程思想第四版第二章练习题答案
练习1:创建一个类,它包含一个int域和一个char域,它们都没有被初始化.将他们的值打印出来,以验证Java执行了默认初始化 public class JavaThinking { private ...
- Java语言程序设计(基础篇) 第七章 一维数组
第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...
- Java语言程序设计(基础篇) 第五章 循环
第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...
- Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...
随机推荐
- shell入门-系统和用户的配置文件
变量分为系统变量和用户自定义变量,他们的配置文件当然分为系统环境变量配置文件和用户环境变量控制文件 1.规定环境变量的配置文件 [root@wangshaojun 111]# vim /etc/pro ...
- 【总结整理】JQuery小技巧
var item=$("#content").find(".item");//效率最高 var item=$("#content .item" ...
- Linux中发布项目的一些命令笔记
记一下,Linux中发布项目的一些难记的命令: .安装jdk a.检测是否安装了jdk 运行java -version b.若有需要将其卸载 c.查看安装那些jdk rpm -qa | grep ja ...
- AngularJs(Part 9)--AngularJS 表单
AngularJS 表单 AngularJS使用了MVX的结构,我们可以是传统的表单更加强大.比如过去我们得自己写一大堆验证,比过过去我们得自己转换用户的输入, 现在这些工作全部可以交给Ang ...
- GEO(Gene Expression Omnibus):高通量基因表达数据库
Gene Expression Omnibus(GEO)是一个公共存储库,可以存档和自由分发由科学界提交的全套微阵列,新一代测序和其他形式的高通量功能基因组数据. 除数据存储外,还提供一系列基于Web ...
- JavaEE资源
JavaEE资源 http://bbs.itheima.com/forum.php?mod=forumdisplay&fid=183
- 301ReidrectPages中重复记录导致的500 server error
在Umbraco平台开发一个系统时,遇到一个问题,报错500 server error, system is currently unable to handle this request. 按下F1 ...
- .net core 第一个mvc项目目录结构简析
创建项目的命令 首先来认识一下创建项目可使用的各种命令,.NETCore 的命令都以 dotnet 打头,这很好理解,输入 dotnet xxx,就是执行环境变量指向的 C:\Program ...
- 使用Log4j2,打包后提示ERROR StatusLogger Log4j2 could not find a logging implementation.
从Log4j切换到Log4j2,没有打包之前日志输出正常,但是打包后总是提示下面内容: 错误一: ERROR StatusLogger Log4j2 could not find a logging ...
- [Linux]关于sigprocmask函数的讨论
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...