《Java程序设计精编教程(第3版)》课后习题(个人,多为编程题,未完成)

本文主要是介绍《Java程序设计精编教程(第3版)》课后习题(个人,多为编程题,未完成),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第三章

答:不可以,从float到double型中间过程会有精度损失

第四章

4.电费三区间,90内0.6一度,150到91之间1.1元一度电,150以上1.7一度电,输入用电量输出电费

package 第四章;import java.util.Scanner;
public class 习题4 {public static void main(String args[]){System.out.println("请输入用电量:");Scanner reader = new Scanner(System.in);float yong = reader.nextFloat();float price = 0;if(150>=yong && yong>90){price = 54+(yong-90)*1.1f;}else if(yong>150){price = 54+66+(yong-150)*1.1f;}else if(yong<=90){price = yong*0.6f;}System.out.println("您所需要交付的电费为:"+price);}
}

5.用for循环语句分别输出大写小写字母表

package 第四章;public class 习题5 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根System.out.println("小写字母表是:");int i = 0;for(i=97;i<123;i++)      //a对应int型数字为97{System.out.print((char)i+",");}System.out.println();    //换行System.out.println("大写字母表是:");for(i=97;i<123;i++)    {System.out.print((char)(i-32)+",");    //a大A 32}}}

在这里插入图片描述

6.求1000以内的完数(完数为本身等于自己因数之和)

package 第四章;public class 习题6 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根int i = 0;int x = 0;for(i = 1;i<=1000;i++){int sum = 0;for(x=1;x<i;x++){if( i%x == 0){sum = sum+x;}}if(sum == i){System.out.println(i+"是完数");}}}}

在这里插入图片描述
7.编写一个应用程序求满足1+2!+3!…+n!<=9876的最大整数n

package 第四章;public class 习题7 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根int n = 1;int sum = 0;while(true){int temp = 1;for(int i = 1;i<=n;i++){temp *= i;}sum = sum + temp;if(sum>9876)break;n++;}System.out.println("最大整数是:"+(n-1));}}

在这里插入图片描述

第六章

1.不是private的成员变量和方法;子类声明的成员变量与从父类继承来的成员变量名字一致(类型可以不同)
2.final类没有子类,更不要说重写
3.抽象类(abstract类)
4.
父类的对象被放入子类的对象的引用,此父类的对象叫此子类的上转型对象

package 第六章;class 动物{void cry(){}
}
classextends 动物{void cry(){       //重写父类方法System.out.println("汪汪...");}
}
classextends 动物{void cry(){       //重写父类方法System.out.println("喵喵...");}
}
public class 多态 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根动物 animal;              //创建一个可以做上转型对象的对象animal = new();        //此时animal成为狗的上转型对象animal.cry();			  //调用子类“狗”中的重写方法animal = new();		  //此时animal又成为了猫的上转型对象animal.cry();			  //调用子类“猫”中的重写方法//狗 a = (狗)animal;      此语句的作用是把上转型对象强制转换为子类的对象(这时这个子类对象a又具备了子类“狗”的所有功能和属性)}}

5.ad
6.

class A {double f(double x, double y) {return x + y;}
}class B extends A {double f(int x, int y) {        //这里输出结果为double型,需注意return x * y;}
}public class E {public static void main(String args[]) {B b = new B();System.out.println(b.f(3, 5));System.out.println(b.f(3.0, 5.0));}
}
15.0;8.0
class A {double f(double x, double y) {return x + y;}static int g(int n) {return n * n;}
}class B extends A {double f(double x, double y) {double m = super.f(x, y);return m + x * y;}static int g(int n) {int m = A.g(n);return m + n;}
}public class E {public static void main(String args[]) {B b = new B();System.out.println(b.f(10.0, 8.0));System.out.println(b.g(3));}
}
 98.0;12

第七章

1.不能,接口只能声明常量
2.不能,接口只能定义抽象型(abstract)方法
3. 可以把实现某一接口的类创建的对象的引用 . 赋给 . 该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的 . 方法。
4.

interface A {double f(double x, double y);
}class B implements A {public double f(double x, double y) {return x * y;}int g(int a, int b) {return a + b;}
}public class E {public static void main(String args[]) {A a = new B();System.out.println(a.f(3, 5));B b = (B) a;System.out.println(b.g(3, 5));}
}
 15.0 ; 8
interface Com {int add(int a, int b);
}abstract class A {abstract int add(int a, int b);
}class B extends A implements Com {public int add(int a, int b) {return a + b;}
}public class E {public static void main(String args[]) {B b = new B();Com com = b;System.out.println(com.add(12, 6));A a = b;System.out.println(a.add(10, 5));}
}
 18 ; 15

第八章

这篇关于《Java程序设计精编教程(第3版)》课后习题(个人,多为编程题,未完成)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/164789

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<