Java语言程序设计(沈泽刚主编)第3版 第1~3章编程练习答案
Posted nuist__NJUPT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言程序设计(沈泽刚主编)第3版 第1~3章编程练习答案相关的知识,希望对你有一定的参考价值。
Java语言程序设计(沈泽刚主编)第3版 第1~3章编程练习答案
第1章Java语言概述
1.1-编写程序,打印您的姓名和年龄。
public class PrintName {
public static void main(String[] args){
System.out.println("姓名:王国栋 年龄:24") ;
}
}
1.2-编写程序,计算1+2+3+4+5+6+7+8+9+10的结果.
public class PrintSum {
public static void main(String[] args){
int sum = 0 ;
for(int i=1; i<=10; i++){
sum += i ;
}
System.out.println(sum) ;
}
}
1.3-编写程序,计算并显示半径为5.5的圆形的周长和面积。
public class CircleTest {
public static void main(String[] args){
System.out.println(2 * Math.PI * 5.5) ;
System.out.println(Math.PI * 5.5 * 5.5) ;
}
}
1.4-编写程序,打印以下图形。
public class PrintFigure {
public static void main(String[] args){
for(int i=0; i<5; i++){
for(int j=0; j<=i; j++){
System.out.print("* ") ;
}
System.out.println() ;
}
}
}
第2章 Java语言基础
2.1 编写程序键盘输入一个double型的华氏温度,将其转换为摄氏温度,转换公式为:摄氏温度=(5/9)*(华氏温度-32)
public class TempConvert {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.print("请输入华氏温度:") ;
double t1 = input.nextDouble() ;
double t2 = (5.0 / 9) * (t1 - 32) ;
System.out.println("摄氏温度为:" + t2) ;
}
}
2.2键盘输入圆柱底面半径和高,计算圆柱的体积
import java.util.Scanner;
public class Cylinder {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.println("请输入圆柱的半径和高:") ;
double radius = input.nextDouble() ;
double height = input.nextDouble() ;
System.out.println("圆柱的体积为:" + Math.PI * radius * radius * height) ;
}
}
2.3键盘输入你的体重(千克)和身高(米),计算身体质量指数。公式为:BIM = 体重 / 身高的平方
import java.util.Scanner;
public class BodyMassIndex {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.print("请依次输入您的体重和身高:") ;
double mass = input.nextDouble() ;
double height = input.nextDouble() ;
double Bim = mass / (height * height) ;
System.out.println(Bim) ;
}
}
2.4 读取一个0-1000的整数,将该整数的各位数字相加,例如:输入932,各位数字之和是14
import java.util.Scanner;
public class DigitSum {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.print("请输入一个0~1000之间的整数:") ;
int num = input.nextInt() ;
if(num >=0 && num <= 9){
System.out.println(num) ;
}else if(num >= 10 && num <= 99){
System.out.println(num/10 + num % 10) ;
}else if(num >= 100 && num <= 999){
System.out.println(num%10 + (num/10)%10 + num/100) ;
}else if(num == 1000){
System.out.println(1) ;
}else{
System.out.println("您输入的数据有误") ;
}
}
}
2.5 编写程序,显示当前时间
public class CurrentTime {
public static void main(String[] args){
long t = System.currentTimeMillis() ; //1970年1月1日00:00:00开始到当前时刻的毫秒数
long seconds = t / 1000 ; //总秒数
long s = seconds % 60 ;
long minutes = seconds / 60 ; //总分钟数
long m = minutes % 60 ;
long hours = minutes / 60 ; //总小时数
long h = hours % 24 ;
System.out.println("当前时间: " + (h+8) + ":" + m + ":" + s + " (GMT)") ;
}
}
2.6键盘输入a,b,c的值,计算下列表达式的值
import java.util.Scanner;
public class EquationRoot {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
double a = input.nextDouble() ;
double b = input.nextDouble() ;
double c = input.nextDouble() ;
double result = ((-b) + Math.sqrt(b*b - 4*a*c)) / (2*a) ;
System.out.println(result) ;
}
}
2.7 计算贷款的每月支付额。键盘输入年款的年利率,总金额,年数,程序计算出每月支付金额和总偿还金额。
public class ComputeLoan {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.println("请输入贷款的年利率:") ;
Double t1 = input.nextDouble() ;
double t4 = t1 / 1200 ; //月利率
System.out.println("请输入总金额:") ;
Double t2 = input.nextDouble() ;
System.out.println("请输入年数:") ;
Double t3 = input.nextDouble() ;
Double monthPayment = (t2 * t4) /(1 - (1 / Math.pow((1+t4), t3*12))) ;
Double totalPayment = monthPayment * 12 * t3 ;
System.out.println("月支付金额:" + monthPayment + "总偿还金额:" + totalPayment) ;
}
}
第3章 选择与循环
3.1 键盘输入一个整数,判断奇数还是偶数
import java.util.Scanner;
public class EvenOdd {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
int num = input.nextInt() ;
if(num % 2 == 0){
System.out.println(num + "是偶数") ;
}else{
System.out.println(num + "是奇数") ;
}
}
}
3.2编写程序,要求用户键盘输入一个年份,输出该年是否是闰年。
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
int year = input.nextInt() ;
if((year % 4 == 0) && (year% 100 != 0)){
System.out.println(year + "年是闰年") ;
}else if(year % 400 == 0){
System.out.println(year + "年是闰年") ;
}else{
System.out.println(year + "年不是闰年") ;
}
}
}
3.3键盘输入4个整数,找出最大值和最小值并打印输出
import java.util.Scanner;
public class MaxMin {
public static void main(String[] args){
int [] num = new int[4] ;
int max = Integer.MIN_VALUE ;
int min = Integer.MAX_VALUE ;
Scanner input = new Scanner(System.in) ;
System.out.print("请输入4个整数:") ;
for(int i=0; i<num.length; i++){
num[i] = input.nextInt() ;
}
for(int i=0;i<num.length; i++){
if(num[i] >= max){
max = num[i] ;
}
if(num[i] <= min){
min = num[i] ;
}
}
System.out.println("四个数字的最大值为:" + max + " 最小值为:" + min) ;
}
}
3.4判断一元二次方程有无实数根。提示用户输入方程系数a,b,c,判断方程有无实数根,有实数根则打印实数根。
import java.util.Scanner;
public class EquationRoot {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.println("请输入一元二次方程的系数a,b,c:") ;
Double a = input.nextDouble() ;
Double b = input.nextDouble() ;
Double c = input.nextDouble() ;
if(b*b - 4*a*c > 0){
Double x1 = (-b + Math.sqrt(Math.pow(b,2) - 4*a*c)) / (2*a) ;
Double x2 = (-b - Math.sqrt(Math.pow(b,2) - 4*a*c)) / (2*a) ;
System.out.println("方程有两个实数根:" + "第一个实数根=" + x1 + " 第二个实数根=" +x2) ;
}else if(b*b - 4*a*c < 0){
System.out.println("方程无实数根") ;
}else{
Double x3 = (-b) / (2 * a) ;
System.out.println("方程就一个实数根=" + x3) ;
}
}
}
3.5 从键盘输入一个百分制的成绩,例如85,输出良好,要求用switch实现.
import java.util.Scanner;
public class GradeTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in) ;
System.out.println("请输入成绩,要求输入的成绩大于等于0,且小于等于100") ;
int num = input.nextInt() ;
int scores = num / 10 ;
String grade = "" ;
switch(scores){
case 10 : grade = "优秀"; break ;
case 9 : grade = "优秀"; break ;
case 8 : grade = "良好"; break ;
case 7 : grade = "中等"; break ;
case 6 : grade = "及格"; break ;
default : grade = "不及格"; break ;
}
System.out.println(grade) ;
}
}
3.6 键盘输入10个整数,比较并输出其中的最大值和最小值
import java.util.Scanner;
public class TenNumber {
public static void main(String[] args){
int [] number = new int [10] ;
int max = Integer.MIN_VALUE ;
int min = Integer.MAX_VALUE ;
Scanner input = new Scanner(S以上是关于Java语言程序设计(沈泽刚主编)第3版 第1~3章编程练习答案的主要内容,如果未能解决你的问题,请参考以下文章
Java语言程序设计(第3版)沈泽刚主编第6,7,8章课后习题答案
Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案