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

第6章 字符串
6.1 编写程序,提示用户输入一个字符串,显示它的长度,第一个字符和最后一个字符。

import java.util.Scanner;public class StringDemo {public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入一个字符串:") ;String s = input.next() ;System.out.println("字符串的长度为:" + s.length()) ;System.out.println("第1个字符:" + s.charAt(0)) ;System.out.println("最后一个字符:" + s.charAt(s.length()-1)) ;}
}

6.2 编写程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串。

import java.util.Scanner;public class SubStringDemo {public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入第1个字符串:") ;String s1 = input.nextLine() ;System.out.print("请输入第2个字符串:") ;String s2 = input.nextLine() ;System.out.println("字符串" +  s2 + (s1.indexOf(s2) >= 0 ? "是" : "不是")+ "字符串" + s1 + "的子串") ;}
}

6.4 使用下面方法签名编写一个方法,统计字符串中包含字母的个数。

public class CountLetters {public static  int countLetters(String s){int count = 0 ;for(int i=0; i<s.length(); i++){if(Character.isLetter(s.charAt(i))){count ++ ;}}return count ;}public static void main(String[] args){String s = "1adAA24e%$#@R" ;System.out.println("字符串" + s + "含有" + countLetters(s) + "个字母") ;}
}

6.5 编写方法将10进制整数转换为2进制整数。


import java.util.Scanner;
public class ToBinary {public static String toBinary(int value){StringBuilder s = new StringBuilder("") ;while(value > 0){s.append(value % 2) ;value /= 2 ;}s.reverse() ;return new String(s) ;}public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入一个正整数:") ;int num = input.nextInt() ;System.out.println("十进制数" + num + "对应的二进制数为:" + toBinary(num)) ;}
}

6.6 使用方法签名,返回排好序的字符串。

import java.util.Arrays;public class Sort {public static String sort(String s){char [] c = s.toCharArray() ;Arrays.sort(c) ;return String.valueOf(c) ;}public static void main(String[] args){String s = "morning" ;System.out.println(sort(s)) ;}
}

6.7 编写一个加密程序,要求键盘输入一个字符串,输出加密的字符串。

import java.util.Scanner;public class Encrypt {public static String encrypt(String s){StringBuilder ss = new StringBuilder(s) ;for(int i=0; i<ss.length(); i++){char c = ss.charAt(i) ;if(s.charAt(i) == 'Z' || s.charAt(i) == 'z'){c = (char)(c - 25) ;}else{c = (char)(c + 1) ;}ss.setCharAt(i,c) ;}return new String(ss) ;}public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入一个待加密的字符串:") ;String s = input.nextLine() ;System.out.println("加密后的字符串:" + encrypt(s)) ;}
}

6.8 为上一题编写一个解密程序,输入密文,输出明文。


import java.util.Scanner;
public class Encrypt1 {public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入已经加密的字符串:") ;String s = input.nextLine() ;StringBuilder ss = new StringBuilder(s) ;for(int i=0; i<ss.length(); i++){char c = ss.charAt(i) ;if(ss.charAt(i) == 'A' || ss.charAt(i) == 'a'){c = (char) (c + 25) ;}else{c = (char) (c - 1) ;}ss.setCharAt(i,c) ;}System.out.println("解密后的明文为:" + ss) ;}
}

6.9 将字符串“no pains,no gains.“解析成含有4个单词的字符串数组。

public class SplitDemo {public static void main(String[] args){String s = new String("no pains,no gins.") ;String [] array = s.split("[ ,.]") ;for(int i=0; i<array.length; i++){System.out.print(array[i] + " ") ;}}
}

第7章 继承与多态
7.1 根据Animal类及其子类的继承关系,编写方法实现这些类。

class Bird extends Animal{public int numberOfWings ;public void fly(){System.out.println("I can fly") ;}
}
class Fish extends Animal{public int numberOfFins ;public void swim(){System.out.println("I can swim") ;}
}
class Dog extends Animal{public int numberOfLegs ;public void walk(){System.out.println("I can walk") ;}
}
public class Animal {public double weight ;public void eat(){System.out.println("I can eat anything") ;}public static void main(String[] args){Animal animal = new Animal() ;animal.eat() ;Bird bird = new Bird() ;bird.fly();bird.eat() ;}
}

7.2 定义一个名为Cylinder的圆柱类,继承Circle类,求圆柱的表面积和体积。

import java.util.Scanner;class Circle{double centerX ;double centerY ;public double radius ;public Circle(double radius){this.radius = radius ;}public void setRadius(double radius){this.radius = radius ;}public double getRadius(){return radius ;}public double getArea(){return Math.PI * radius * radius ;}public double getPerimeter(){return 2 * Math.PI * radius ;}
}public class Cylinder extends Circle {double height ;public Cylinder(double radius, double height) {super(radius);this.height = height ;}@Overridepublic double getArea(){return getPerimeter() * height ;}public double getVolume(){return getArea() * height ;}public static void main(String[] args){Scanner input = new Scanner(System.in) ;System.out.print("请输入圆柱的底面的半径:") ;double radius = input.nextDouble() ;System.out.print("请输入圆柱的高:") ;double height = input.nextDouble() ;Cylinder cylinder = new Cylinder(radius, height) ;System.out.println("圆柱的表面积:" + cylinder.getArea()) ;System.out.println("圆柱的体积:" + cylinder.getVolume()) ;}
}

7.3 定义一个汽车类Auto,定义一个Auto的子类Bus,编写程序测试Bus类的使用。

class Bus extends Auto{public int passenger ;public void gotOn(int passenger){this.passenger += passenger ;System.out.println("车上上了" + passenger + "名乘客," + "现在车上有" + this.passenger + "名乘客") ;}public void getOff(int passenger){this.passenger -= passenger ;System.out.println("车上下了" + passenger + "名乘客," + "现在车上有" + this.passenger + "名乘客") ;}
}
public class Auto {public double speed ;public void start(){System.out.println("汽车启动了") ;}public void speedUp(double speed){this.speed = speed ;System.out.println("汽车加速到" + speed) ;}public void stop(){this.speed = 0 ;System.out.println("汽车停止运行") ;}public static void main(String[] args){Bus bus = new Bus() ;bus.start() ;bus.speedUp(60.0) ;bus.gotOn(20) ;bus.getOff(10) ;bus.stop() ;}
}

7.4 定义一个名为Square类表示正方形,使其继承Shape抽象类,覆盖Shape中的抽象方法。

 abstract  class Shape{public  String name ;public Shape(){}public Shape(String name){this.name = name ;}public abstract double getPerimeter() ;public abstract double getArea() ;}
public class Square extends Shape{double side ;public Square(double side){this.side = side ;}@Overridepublic double getPerimeter() {return  side * 4 ;}@Overridepublic double getArea() {return side * side ;}public static void main(String[] args){Square square = new Square(2.0) ;square.name = "正方形" ;System.out.println(square.name + "的周长:" + square.getPerimeter()) ;System.out.println(square.name + "的面积:" + square.getArea()) ;}
}

7.5 定义名为Cuboid的长方体类,继承长方形类Rectangle,编写程序,求长宽高分别为10,5,2的长方体的体积。

class Rectangle{public double length ;public double width ;public Rectangle(double length, double width){this.length = length ;this.width = width ;}public double getArea(){return length * width ;}public double getPerimeter(){return (length + width) * 2 ;}
}
public class Cuboid extends Rectangle{public double height ;public Cuboid(double length, double width,double height) {super(length, width);this.height = height ;}public double getVolume(){return getArea() * height ;}public static void main(String[] args){Cuboid cuboid = new Cuboid(10, 5, 2) ;System.out.println("长方体的体积为:" + cuboid.getVolume()) ;}
}

第8章 Java常用核心类
8.1 定义一个名为Square的类表示正方形,编写一个程序测试clone(),equals(),toString()等方法的使用。

public class Square implements Cloneable{public double length ;public Square(double length){this.length = length ;}public void setLength(double length){this.length = length ;}public double getLength(){return length ;}public boolean equals(Square square){return square.length == this.length ;}@Overridepublic String toString(){return "Square[length=" + length + "]" ;}public static void main(String[] args) throws CloneNotSupportedException{Square square = new  Square(100 );Square square1 = (Square)square.clone() ;System.out.println(square1.toString()) ;System.out.println(square.equals(square1)) ;}
}

8.2编写程序,随机生成1000个16之间的整数,统计16每个数出现的概率,修改程序,生成1000个随机数,并统计概率,比较结果并给出结论。

public class RandomTest {public static void main(String[] args){int [] count1 = new int [6] ;int [] count2 = new int [6] ;for(int i=0; i<100; i++){int r = (int)(Math.random() * 6) + 1 ;switch(r){case 1 : count1[0] ++ ; break ;case 2 : count1[1] ++ ; break ;case 3 : count1[2] ++ ; break ;case 4 : count1[3] ++ ; break ;case 5 : count1[4] ++ ; break ;case 6 : count1[5] ++ ; break ;}}for(int i=0; i<1000; i++){int r = (int)(Math.random() * 6) + 1 ;switch(r){case 1 : count2[0] ++ ; break ;case 2 : count2[1] ++ ; break ;case 3 : count2[2] ++ ; break ;case 4 : count2[3] ++ ; break ;case 5 : count2[4] ++ ; break ;case 6 : count2[5] ++ ; break ;}}for(int i=0; i<count1.length; i++){System.out.print(count1[i] + " ") ;}System.out.println() ;for(int i=0; i<count2.length; i++){System.out.print(count2[i] + " ") ;}}
}

8.3 有一个三角形的两条边长分别为4.0和5.0,夹角为30°,编写程序计算该三角形的面积。

public class AreaTest {public static void main(String[] args){System.out.println(0.5 * 4 * 5 * Math.sin(Math.toRadians(30))) ;}
}

8.4 编写程序,输出6中数值型包装类的最大值和最小值。

public class NumberTest {public static void main(String[] args){System.out.println(Byte.MAX_VALUE + "  " + Byte.MIN_VALUE) ;System.out.println(Short.MAX_VALUE + "  " + Short.MIN_VALUE) ;System.out.println(Integer.MAX_VALUE + "  " + Integer.MIN_VALUE) ;System.out.println(Long.MAX_VALUE + "  " + Long.MIN_VALUE) ;System.out.println(Float.MAX_VALUE + "  " + Float.MIN_VALUE) ;System.out.println(Double.MAX_VALUE + "  " + Double.MIN_VALUE) ;}
}

8.6程序员的生日

import java.time.LocalDate;public class Birthday {public static void main(String[] args){LocalDate birth = LocalDate.of(2017,1,1).plusDays(255) ;System.out.println("2017年程序员的生日为:" + birth) ;}
}

8.7 编写程序,计算您从出生到现在已经过去了多少天?

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;public class Days {public static void main(String[] args){LocalDate birth = LocalDate.of(1996, 7, 25) ;LocalDate day = LocalDate.now() ;long days = ChronoUnit.DAYS.between(birth, day) ;System.out.println(days) ;}
}

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

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

    Java语言程序设计(第3版)沈泽刚主编第5章课后习题答案 5.1 编写程序,从键盘输入5个整数,存到一个数组,计算所有元素的最大值,最小值和平均值. import java.util.Scanner ...

  2. python程序设计与算法基础江红答案_《Python程序设计与算法基础教程(第二版)》江红 余青松,第十一章课后习题答案...

    推荐阅读 <Python程序设计与算法基础教程(第二版)>江红 余青松 全部章节的课后习题,上机实践,课后答案,案例研究 文章目录 一些知识点总结和几个例题 选择题:1~5 填空题:1~8 ...

  3. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案

    <Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...

  4. java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-27

    java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-27 自己纯手工,欢迎讨论 package chapter6;public class T27 ...

  5. 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx

    java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...

  6. 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案

    <Java语言程序设计(郑莉)第三章课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计(郑莉)第三章课后习题答案(10页珍藏版)>请在人人文库网上搜索. 1. ...

  7. C语言程序设计第五版 谭浩强 第四章 课后习题 答案

    谭浩强C语言程序设计第五版 第4章 课后习题 答案 点我看视频讲解+可运行源码 记得一键三连哦 第四章 选择结构程序设计 1. 什么是算术运算?什么是关系运算?什么是逻辑运算? [答案解析] 算熟运算 ...

  8. c语言定义y1代表英里数,河南理工大学C语言第二章课后习题答案.ppt

    河南理工大学C语言第二章课后习题答案 第二章 基本数据类型.运算符与表达式 1.选择题 (1)下面四个选项中,均是合法整型常量的选项是 A. 160 , -0xffff, 011B. -0xcdf, ...

  9. 疯狂java讲义第五章课后习题答案

    1.编写一个学生类,提供name.age.gender.phone.address.cmail成员变量,且为每个成员变量提供 seter.geter方法.为学生类提供默认的构造器和带所有成员变量的构造 ...

  10. java语言程序设计第三版答案郎波著,太完整了!

    Java基础 1Java语言的三大特性 2.Java语言主要特性 3. JDK和JRE有什么区别 4.Java基本数据类型及其封装类 5.如果main方法被声明为private会怎样? 6.说明- - ...

最新文章

  1. 《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能
  2. 服务网格:Istio和AWS App Mesh
  3. package.json相关疑惑总结
  4. 句向量的表示(上)—无监督
  5. oracle flash_cache,11gR2新特性之二 - Flash Cache 的SSD支持
  6. Django 文件上传与下载的相关问题
  7. LIRE的使用:搜索相似的图片 1
  8. 队列的实现(二) 链式队列的实现
  9. VS2010中配置OpenGL的一些问题小结
  10. Atitit 算法之道 之压缩算法 attilax总结 1. 压缩算法与压缩格式区别 1 2. 压缩算法于格式 1 2.1. H264 mpg jpg MP3 2 2.2. Zip rar 。L
  11. 哪个计算机无法做到双屏显示,笔记本电脑怎么实现双屏显示不同的内容
  12. thinkphp 2.x 任意代码执行
  13. linux执行历史命令用哪个键,Linux中如何使用history命令即历史命令
  14. 2020幻影围棋 第三天围棋规则模块(一)
  15. html css 写百度页面,Html+CSS练习(百度注册页面)--div布局实现
  16. 深度学习中训练迭代次数理解【源码阅读技巧分享】【深度学习循环迭代理解】【for X, y in train_iter:】
  17. JVM(2):垃圾收集器与gc
  18. java标签outer,java outer
  19. 跟着hzw学习数列分块
  20. 时间序列模型R语言实现-批量建模,预测(ARIMA, 随机森林)

热门文章

  1. c语言中文解释,【资料】C语言错误信息中文解释
  2. C++basic_string(字符串类模板)
  3. C++ const与static
  4. CentOS 6.6上搭建C++运行环境
  5. 第二课 了解编程环境
  6. VB编程必备!_VB源码之友(内含-下载-破解-使用方法)
  7. Linux和UNIX操作系统的关系及区别(详解)
  8. 心电图分析软件_家用心电图机,一键出报告,让你在家就能看懂心电图!
  9. android移动应用基础教程源代码,《Android移动应用基础教程》之Android购物商城
  10. 开启xmp1还是2_原神风魔龙技能打法详细教程攻略 奇货匣开启次数是否保留会刷新吗...