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版)沈泽刚主编第4章课后习题答案

Java语言程序设计(第3版)沈泽刚主编第6,7,8章课后习题答案

Java语言程序设计(第3版)沈泽刚主编第5章课后习题答案

Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案

求数据结构(用面向对象方法与C++语言描述)第二版 殷人昆主编 课后答案

信息系统项目管理师教程第3版教程 2017年9月出版