第四章 Java章节习题
04_JAVA练习题第四章-面向对象概念

04_JAVA练习题第四章-面向对象概念[单选题]1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?()A)protectedB)publicC)defaultD)private答案:D解析: 【解析】只有私有访问权限修饰符才能限制变量只能在本类中被访问2.在Java 语言中,哪一个包中的类是自动导入的?()A)ngB)java.awtC)java.ioD)java.applet答案:A解析: 【解析】只有ng 包中的类能够被自动导入。
3.给出下面的程序代码:public class X4_1_3{ private float a;public static void m ( ){ }}如何使成员变量a 被方法m( )访问()A)将private float a 改为protected float aB)将private float a 改为public float aC)将private float a 改为static float aD)将private float a 改为float a答案:C解析: 【解析】static 类型的方法只能访问static 类型的数据成员。
4.有一个类B,下面为其构造方法的声明,正确的是()。
A)void B(int x) {}B)B(int x) {}C)b(int x) {}D)void b(int x) {}答案:B解析: 【解析】构造方法没有类型,且方法名与类名相同。
5.下面关于类的说法,不正确的是()。
A)类是同种对象的集合和抽象B)类属于Java 语言中的复合数据类型C)类就是对象D)对象是Java 语言中的基本结构单位答案:C解析: 【解析】类是对象的抽象,对象是类的实例,因此类和对象是有区别的。
6.下面关于方法的说法,不正确的是()。
A)Java 中的构造方法名必须和类名相同B)方法体是对方法的实现,包括变量声明和合法语句C)如果一个类定义了构造方法,也可以用该类的默认构造方法D)类的私有方法不能被其他类直接访问答案:C解析: 【解析】类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法。
JAVA第四章练习题

第四章 习题课
1.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以 下几个语句后的输出结果是 。
int s = 0 ; for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 答案为
12、关于下面的程序Test.java说法正确的是
13、应用程序的main方法中有以下语句, 则输出的结果是 ( )。 int b[][]={{1, 1, 1}, {2,2}, {3}}; int sum=0; for(int i=0; i<b.length; i++) { for(int j=0; j<b[i].length; j++) { sum+=b[i][j]; 答案为 A } } System.out.println("sum="+sum); A) 10 B)6 C) 9 D) 13
答案为 A
9、应用程序的main方法中有以下语句,则
输出的结果是 ( )。 int b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { sum*=b[i][j]; } 答案为 A } System.out.println("sum="+sum); A) 32 B)11 C) 2 D) 3
JAVA第四章课后习题解答

txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(5); btn1=new Button("+"); btn2=new Button("-"); btn3=new Button("*"); btn4=new Button("÷");
public class Test4_9 extends Frame implements ActionListener{ Button btn; public Test4_9(){ super("弹出窗口练习"); setSize(300,200);
5
setVisible(true); setLayout(new BorderLayout());
TextField txtFl1,txtFl2,txtFl3;
2
Button btn; public Test4_6(){
super("简单加法运算器"); setSize(300,200); setVisible(true); setLayout(new FlowLayout());
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(10); btn=new Button("=");
Java程序设计 第4章习题参考答案[2页]
![Java程序设计 第4章习题参考答案[2页]](https://img.taocdn.com/s3/m/337805007dd184254b35eefdc8d376eeaeaa172c.png)
第4章习题参考答案一、简答题1.Java提供了哪些数据类型,全部写出来。
整型:byte,short,int,long数值型浮点型:float,double基本数据类型字符型:char数据类型布尔型:boolean类:class复合数据类型字符串:String接口:interface2.如何进行数据类型的转换?有2种方式:自动类型转换:运算时,不同类型的数据先转换成同一类型后再参与运算,转换的原则是位数少的类型转换成位数多的类型,由系统自动处理。
强制类型转换:当位数多的类型向位数少的类型进行转换时,需要用户明确说明要转换的类型,需要用户在程序中指明。
3.类的修饰符有哪些?有什么区别?类的修饰符包括访问控制修饰符、静态修饰符static、最终说明符final。
访问控制修饰符包括4种类型:privat、default、protected、public。
用static声明的成员变量被视为类的成员变量,而不能当成实例对象的成员变量,也就是说,静态变量是类固有的,可以被直接引用,而其它成员变量声明后,只有生成对象时才能被引用。
4.public的类和abstract的类有什么不一样?public的类是公共类,可以被继续,可以实例化,可以被其他包访问。
abstract的类是抽象类,其中一定含有抽象方法,abstract class的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。
5.什么是最终类?如何声明?最终类不能被继承,也没有子类。
final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
声明方法:final class ClassName。
二、操作题1.创建一个学生类Student,包括学号no、姓名name、年龄age、性别sex四个属性以及学习study、实践practice两个方法。
java练习题一到四章

第一章:Java基础1.1 Java语言概述1.1.1 Java语言的起源1.1.2 Java语言的特点1.1.3 Java语言的运行环境1.1.4 Java语言的开发工具1.2 Java语法基础1.2.1 数据类型1.2.2 变量和常量1.2.3 运算符1.2.4 控制语句1.3 面向对象编程1.3.1 类和对象1.3.2 构造方法1.3.3 继承1.3.4 多态1.3.5 封装1.4 异常处理1.4.1 异常的概念1.4.2 异常的捕获与处理1.4.3 自定义异常1.5 Java集合框架1.5.1 List接口1.5.2 Set接口1.5.3 Map接口1.5.4 Collection类1.5.5 Iterator接口1.5.6 Collection框架的常用类第二章:Java进阶2.1 Java多线程2.1.1 线程的概念2.1.2 线程的创建与运行2.1.3 线程同步2.1.4 线程通信2.2 Java网络编程2.2.1 URL类2.2.2 Socket编程2.2.3 HTTP协议2.3 Java数据库编程2.3.1 JDBC概述2.3.2 JDBC连接数据库2.3.3 JDBC查询与更新2.3.4 JDBC事务管理2.4 Java设计模式2.4.1 单例模式2.4.2 工厂模式2.4.3 代理模式2.4.4 装饰者模式2.4.5 策略模式第三章:Java框架3.1 Spring框架3.1.1 Spring框架概述3.1.2 依赖注入3.1.3 AOP3.1.4 Spring MVC3.2 MyBatis框架3.2.1 MyBatis概述3.2.2 MyBatis配置3.2.3 MyBatis映射文件3.2.4 MyBatis动态SQL3.3 Spring Boot框架3.3.1 Spring Boot概述3.3.2 Spring Boot配置3.3.3 Spring Boot自动配置3.3.4 Spring Boot集成3.4 Spring Cloud框架3.4.1 Spring Cloud概述3.4.2 Spring Cloud配置3.4.3 Spring Cloud服务治理3.4.4 Spring Cloud分布式事务第四章:Java项目实战4.1 Java项目开发流程4.1.1 需求分析4.1.2 系统设计4.1.3 编码实现4.1.4 测试与部署4.2 Java项目案例4.2.1 基于Spring Boot的博客系统4.2.2 基于Spring Cloud的电商平台4.2.3 基于Java的在线教育平台4.2.4 基于Java的社交网络平台第五章:Java高级特性5.1 Lambda表达式5.1.1 Lambda表达式的基本语法5.1.2 Lambda表达式的应用场景5.1.3 Stream API5.2 Java NIO5.2.1 NIO概述5.2.2 文件IO操作5.2.3 缓冲区5.2.4 非阻塞IO5.3 Java内存模型5.3.1 内存区域5.3.2 垃圾回收5.3.3 内存泄漏5.4 Java并发编程5.4.1 线程池5.4.2 锁5.4.3 同步与并发工具类5.4.4 并发编程的艺术第六章:Java Web开发6.1 HTML与CSS6.1.1 HTML基本语法6.1.2 CSS样式表6.1.3 HTML5与CSS3新特性6.2 JavaScript基础6.2.1 JavaScript语法6.2.2 常用内置对象6.2.3 事件处理6.3 Java Web技术6.3.1 Servlet6.3.2 JSP6.3.3 EL表达式6.3.4 JSTL6.3.5 Filter和Listener 6.4 前端框架6.4.1 React6.4.2 Angular6.4.3 Vue.js第七章:Java安全与性能优化7.1 Java安全机制7.1.1 权限控制7.1.2 加密技术7.1.3 安全框架7.2 Java性能优化7.2.1 常见性能问题7.2.2 JVM调优7.2.3 代码优化7.2.4 数据库优化7.3 Java监控与日志7.3.1 监控工具7.3.2 日志框架7.3.3 日志管理第八章:Java项目实战案例8.1 企业级项目架构设计8.1.1 架构模式8.1.2 微服务架构8.1.3 分布式架构8.2 实战案例一:在线购物平台8.2.1 需求分析8.2.2 系统设计8.2.3 技术选型8.2.4 项目实施8.3 实战案例二:企业资源规划(ERP)系统8.3.1 需求分析8.3.2 系统设计8.3.3 技术选型8.3.4 项目实施8.4 实战案例三:银行系统8.4.1 需求分析8.4.2 系统设计8.4.3 技术选型8.4.4 项目实施第九章:Java EE技术9.1 Java EE概述9.2 Java EE核心技术9.2.1 EJB9.2.2 JPA9.2.3 JSF9.2.4 JMS9.2.5 Java EE安全性9.3 Java EE项目案例9.3.1 企业信息管理系统9.3.2 电子商务平台9.3.3 人力资源管理系统第十章:Java开发工具与环境10.1 Java开发工具10.1.1 IntelliJ IDEA 10.1.2 Eclipse10.1.3 NetBeans10.2 构建工具10.2.1 Maven10.2.2 Gradle10.3 版本控制10.3.1 Git10.3.2 SVN10.4 调试工具10.4.1 JDBCTrace10.4.2 JProfiler10.4.3 VisualVM第十一章:Java面试题11.1 Java基础面试题11.1.1 Java内存模型11.1.2 Java集合框架11.1.3 Java多线程11.1.4 Java异常处理11.2 Java Web面试题11.2.1 Servlet生命周期11.2.2 JSP原理11.2.3 JavaScript面试题11.3 数据库面试题11.3.1 JDBC11.3.2 MySQL11.3.3 Oracle11.4 Java框架面试题11.4.1 Spring框架11.4.2 MyBatis框架11.4.3 Spring Boot框架第十二章:Java技术前沿12.1 Java 9新特性12.1.1 模块化系统12.1.2 流式API12.1.3 JShell12.2 Java 10新特性12.2.1 LocalVariable Type Inference12.2.2 ZGC12.2.3 HTTP/212.3 Java 11新特性12.3.1 JEP 321: Dynamic ClassFile Constants 12.3.2 JEP 322: ForeignMemory Access API 12.3.3 JEP 323: HTTP/2 Client12.4 Java未来发展趋势12.4.1 云计算12.4.2 微服务12.4.3 容器化技术第十三章:Java性能调优13.1 JVM性能调优13.1.1 JVM参数优化13.1.2 垃圾收集器选择13.1.3 内存泄漏检测13.2 代码性能调优13.2.1 数据结构选择13.2.2 算法优化13.2.3 循环优化13.3 网络性能调优13.3.1 网络延迟优化13.3.2 网络吞吐量优化13.3.3 网络安全优化第十四章:Java安全编程14.1 Java安全机制14.1.1 访问控制14.1.2 权限管理14.1.3 安全认证14.2 加密技术14.2.1 对称加密14.2.2 非对称加密14.2.3 哈希算法14.3 安全框架14.3.1 Spring Security14.3.2 Apache Shiro14.3.3 Java Cryptography Architecture (JCA)第十五章:Java并发编程高级15.1 并发工具类15.1.1 CountDownLatch15.1.2 CyclicBarrier15.1.3 Semaphore15.1.4 Exchanger15.2 并发编程模型15.2.1 生产者消费者模型15.2.2 管道模型15.2.3 线程池模型15.3 并发编程的艺术15.3.1 锁的优化15.3.2 死锁的避免15.3.3 线程安全的集合第十六章:Java分布式系统16.1 分布式系统概述16.1.1 分布式计算16.1.2 分布式存储16.1.3 分布式事务16.2 分布式技术16.2.1 ZooKeeper16.2.2 Kafka16.2.3 Redis16.2.4 Dubbo16.3 分布式系统设计16.3.1 负载均衡16.3.2 服务发现16.3.3 数据同步第十七章:Java大数据技术17.1 Hadoop生态圈17.1.1 Hadoop概述17.1.2 HDFS17.1.3 MapReduce17.1.4 YARN17.2 Spark17.2.1 Spark概述17.2.2 Spark Core17.2.3 Spark SQL17.2.4 Spark Streaming 17.3 Flink17.3.1 Flink概述17.3.2 Flink流处理17.3.3 Flink批处理18.1 机器学习基础18.1.1 线性回归18.1.2 逻辑回归18.1.3 决策树18.1.4 支持向量机18.2 深度学习18.2.1 神经网络18.2.2 卷积神经网络18.2.3 循环神经网络18.3 Java深度学习框架18.3.1 Deeplearning4j 18.3.2 TensorFlow 18.3.3 PyTorch答案第一章:Java基础1.1 Java语言概述Java语言的起源Java语言的特点Java语言的运行环境 Java语言的开发工具1.2 Java语法基础数据类型变量和常量运算符控制语句1.3 面向对象编程类和对象构造方法继承多态封装1.4 异常处理异常的概念异常的捕获与处理自定义异常1.5 Java集合框架List接口Set接口Map接口Collection类Iterator接口Collection框架的常用类第二章:Java进阶2.1 Java多线程线程的概念线程的创建与运行线程同步线程通信2.2 Java网络编程URL类Socket编程HTTP协议2.3 Java数据库编程 JDBC概述JDBC连接数据库JDBC查询与更新JDBC事务管理2.4 Java设计模式单例模式工厂模式代理模式装饰者模式策略模式第三章:Java框架3.1 Spring框架Spring框架概述依赖注入AOPSpring MVC3.2 MyBatis框架MyBatis概述MyBatis配置MyBatis映射文件MyBatis动态SQL3.3 Spring Boot框架Spring Boot概述Spring Boot配置Spring Boot自动配置Spring Boot集成3.4 Spring Cloud框架Spring Cloud概述Spring Cloud配置Spring Cloud服务治理Spring Cloud分布式事务第四章:Java项目实战4.1 Java项目开发流程需求分析系统设计编码实现测试与部署4.2 Java项目案例基于Spring Boot的博客系统基于Spring Cloud的电商平台基于Java的在线教育平台基于Java的社交网络平台第五章:Java高级特性5.1 Lambda表达式Lambda表达式的基本语法Lambda表达式的应用场景Stream API5.2 Java NIONIO概述文件IO操作缓冲区非阻塞IO5.3 Java内存模型内存区域垃圾回收内存泄漏5.4 Java并发编程线程池锁同步与并发工具类并发编程的艺术第六章:Java Web开发6.1 HTML与CSSHTML基本语法CSS样式表HTML5与CSS3新特性6.2 JavaScript基础 JavaScript语法常用内置对象事件处理6.3 Java Web技术ServletJSPEL表达式JSTLFilter和Listener6.4 前端框架ReactAngularVue.js第七章:Java安全与性能优化7.1 Java安全机制权限控制加密技术安全框架7.2 Java性能优化常见性能问题JVM调优代码优化数据库优化7.3 Java监控与日志监控工具日志框架日志管理第八章:Java项目实战案例8.1 企业级项目架构设计架构模式微服务架构分布式架构8.2 实战案例一:在线购物平台需求分析系统设计技术选型项目实施8.3 实战案例二:企业资源规划(ERP)系统需求分析系统设计技术选型项目实施8.4 实战案例三:银行系统需求分析系统设计技术选型项目实施第九章:Java EE技术9.1 Java EE概述Java EE核心技术EJBJPAJSFJMSJava EE安全性9.2 Java EE项目案例企业信息管理系统电子商务平台人力资源管理系统第十章:Java开发工具与环境10.1 Java开发工具。
java面向对象程序设计第四章习题

第四章 类和对象1第四章 类和对象 [习题]1.类及类成员的访问控制符有哪些?2.为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?3.关键字static 可以修饰哪些类的组成部分?4.静态属性有什么特点?类对象可以访问或修改静态属性吗?5.同名的不同方法共存的情况称为什么?如何区分这些同名方法?6.什么是包?如何创建包?为什么要使用包?包物理地对应什么?7.试写出一个语句创建一个名为MyPackage 的包,这个语句应该放在程序的什么位置?8.如何引用整个包?如何引用包中的一个类?试写出引用MyPackage 中所有类的语句和引用MyPackage 包中的一个类MyClass1。
9.阅读下面的程序,说明它们的输出。
public class UseRef{public static void main(String args[]){MyClass1 myobj,myref;myobj=new MyClass1(-1);myref=myobj;System.out.println("the original data is:"+myobj.getData());myref.setData(10);System.out.println("now the data is:"+myobj.getData());}}class MyClass1{int data;MyClass1(int d){data=d;}int getData(){return data;2 }void setData(int d){data=d;}}10.编写一个类实现秒表的功能。
要求至少实现开始计时、停止计时、分针秒针归零、获得分针示数、获得秒针示数、获得总时间的毫秒数等功能。
11.编写一个类实现复数的运算。
要求至少实现复数相加、复数相减、复数相乘等功能。
12.编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,定义一个构造方法对这三个变量进行初始化,然后定义一个方法求立方体的体积。
第四章 Java章节习题

1.分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。
数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。
例如:5.3的向右取整是6而向左取整是5.答:public class One{static int right(double x){if(x!=5)x=x+1;return (int)x;}static int left(double x){return (int)x;}public static void main(String args[]){System.out.println("5.3向左取整为:"+left(5.3));System.out.println("5.3向右取整为:"+right(5.3));}}程序运行结果为:2.写一个方法计算一个整数各位数字的和。
使用下述的方法说明:public static int sumDigits(long n)例如:sumDigits(276)返回2+7+6=15 。
提示:用求余运算符%分解数字,用除号/分离位数。
例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。
答:public class Two{public static int sumDigits(long n){long sum=0,t;while(n!=0)47{t=n%10;n=n/10;sum+=t;}return (int)sum;}public static void main(String args[]){System.out.println("334各个位数字之和为:"+sumDigits(334));}}程序运行结果为:3. 编写程序,用Math类中的sqrt方法打印下表:Number SquareRoot ....................................0 0.00002 1.41424 2.00006 2.44958 2.828410 3.162312 3.464114 3.741716 4.000018 4.242620 4.4721答:public class Three{public static void main(String args[]){System.out.println("Number SquareRoot");System.out.println("..................");for(int i=0;i<=20;)4748{System.out.printf("%d\t%.4f\n",i,Math.sqrt(i));i=i+2;}}}程序运行结果为:4. 请定义一个名为Rectangle的矩形类。
java试卷(第四章)

java试卷(第四章)(⼀)选择题1.假设⽅法没有任何返回值,下⾯哪个关键字可以⽤作此函数的返回类型?()A.v oidB.i ntC.d oubleD.p ublic2.⽅法包含哪些特征?()A.⽅法名B.⽅法名和参数列表C.返回类型、⽅法名和参数列表D.参数列表3.所⽤的java应⽤程序都要有⼀个()⽅法?A.p ublic static Main(String[] args)B.p ublic static Main(String args[])C.p ublic static void main(String[] args)D.p ublic void main(String[] args)4.⽅法的参数总是出现在()A.⼤括号B.圆括号C.花括号D.引号5.每当调⽤⼀个⽅法时,系统将参数、局部变量和系统寄存器存储在⼀个内存区域中,这个内存区域称为()A.堆B.存储器C.栈D.数组6.在调⽤参数⽅法时,实参的值赋给形参,这被称为()A.⽅法调⽤B.值传递C.参数传递D.参数名传递7.下⾯⽅法打印message:System.out.print(message);n--;}}那么nPrint(”a”,4)会输出什么()A.a aaaaB.a aaaC.a aD.调⽤⽆效8.下⾯⽅法打印messagestatic void nPrint(String message, int n) { while (n > 0) {System.out.print(message);n--;}}如果int k = 2;nPrint(“A message”,k);程序运⾏后k的结果是()A.0B.1C.2D.39.分析下⾯代码public class Test {public static void main(String[] args) { System.out.println(xMethod(5, 500L));}public static int xMethod(int n, long l) { System.out.println("int, long");return n;}public static long xMethod(long n, long l) { System.out.println("long, long");}运⾏结果是()A.程序显⽰的是int,long下⼀⾏5B.程序显⽰的是long,long下⼀⾏5C.程序正常运⾏,但是运⾏结果不是A和B中的结果D.程序不能正常运⾏,因为没有匹配的参数列表10.分析下⾯代码:class Test {public static void main(String[] args) {System.out.println(xmethod(5));}public static int xmethod(int n, long t) {System.out.println("int");return n;}public static long xmethod(long n) {System.out.println("long");return n;}}运⾏结果是()A.i nt 下⼀⾏5B.l ong下⼀⾏5C.程序正常运⾏,但是运⾏结果不是A和B中的结果D.程序不能正常运⾏,因为没有匹配的参数列表11.分析下⾯代码:public class Test {public static void main(String[] args) {System.out.println(max(1, 2));}public static double max(int num1, double num2) {System.out.println("max(int, double) is invoked");if (num1 > num2)return num1;elsepublic static double max(double num1, int num2) {System.out.println("max(double, int) is invoked");if (num1 > num2)return num1;elsereturn num2;}}运⾏结果是:()A.程序不能编译,因为不能在返回类型为⾮void的⽅法中有输出语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。
数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。
例如:5.3的向右取整是6而向左取整是5.答:public class One{static int right(double x){if(x!=5)x=x+1;return (int)x;}static int left(double x){return (int)x;}public static void main(String args[]){System.out.println("5.3向左取整为:"+left(5.3));System.out.println("5.3向右取整为:"+right(5.3));}}程序运行结果为:2.写一个方法计算一个整数各位数字的和。
使用下述的方法说明:public static int sumDigits(long n)例如:sumDigits(276)返回2+7+6=15 。
提示:用求余运算符%分解数字,用除号/分离位数。
例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。
答:public class Two{public static int sumDigits(long n){long sum=0,t;while(n!=0)47{t=n%10;n=n/10;sum+=t;}return (int)sum;}public static void main(String args[]){System.out.println("334各个位数字之和为:"+sumDigits(334));}}程序运行结果为:3. 编写程序,用Math类中的sqrt方法打印下表:Number SquareRoot ....................................0 0.00002 1.41424 2.00006 2.44958 2.828410 3.162312 3.464114 3.741716 4.000018 4.242620 4.4721答:public class Three{public static void main(String args[]){System.out.println("Number SquareRoot");System.out.println("..................");for(int i=0;i<=20;)4748{System.out.printf("%d\t%.4f\n",i,Math.sqrt(i));i=i+2;}}}程序运行结果为:4. 请定义一个名为Rectangle的矩形类。
数据域为宽(width)、高(height)和颜色(color),width和height是double型的,color时String型的。
假定所有矩形的颜色相同。
用一个类变量表示颜色。
要求提供访问其方法和计算矩形面积的FindArea()方法。
答:import java.util.Scanner;class Rectangle{Rectangle(double w,double h){width=w;height=h;}public double FindArea(){return width*height;}double width,height;static String color;4849}public class Four{public static void main(String[] args) {double width,height;Scanner s=new Scanner(System.in);System.out.print("请输入矩形的宽:");width=s.nextDouble();System.out.print("请输入矩形的高:");height=s.nextDouble();System.out.print("请输入矩形的颜色:");Rectangle.color=s.next();Rectangle juxing=new Rectangle(width,height);System.out.println("矩形的面积为:"+juxing.FindArea());}}程序运行结果为:5.请定义一个名为Fan的类模拟风扇,属性为speed、on、radius和color。
要求为每个属性提供访问器方法,并提供方法toString,返回包含类中所有属性值的字符串。
假设风扇有三个固定的速度,用常数1、3、9表示慢、中、快速。
然后定义一个测试类,测试Fan 类,在测试类中创建一个Fan对象,设置最大速度、半径为10、黄色、打开状态。
调用toString 方法显示该对象。
答:class Fan{private int speed;private boolean on;private double radius;private String color;public Fan(int s,boolean o,double r,String c){speed=s;on=o;4950radius=r;color=c;}public int getSpeed(){return speed;}public boolean getOn(){return on;}public double getRadius(){return radius;}public String getColor(){return color;}public void toStrings(){if(on)System.out.print("风扇已打开并且");elseSystem.out.print("风扇已关闭");if(speed==1)System.out.println("风速状态为慢");else if(speed==3)System.out.println("风速状态为中");else if(speed==9)System.out.println("风速状态为快");elseSystem.out.println("无风速");System.out.println("半径为"+radius);System.out.println("颜色为"+color);}}5051public class Five{public static void main(String args[]){Fan fs=new Fan(9,true,10,"黄色");fs.toStrings();}}程序运行结果为:6. 请定义一个名为Account的类模拟帐户、该类的属性和方法如下图所示,利息安月Accountprivate int idprivate double balanceprivate double annuallnterestRatepublic Account()public Account(int id,double balance,double annuallnterestRate)public int getId()public double getBalance()public double getAnnuallnterestRate()public void setId(int id)public void setBalance(double balance)public void setAnnuallnterestRate(double annuallnterestRate)public void withdraw(double amount)public void deposit(double amount)写一个用户程序测试Account类。
在用户程序中,创建一个账号为1234、余额10000、年利率2.5%的Account对象。
使用withdraw方法提款3000元,使用deposit方法存款3000元,并打印余额和月利率。
答:class Account{public Account(){5152id=0;balance=0.0;annuallnterestRate=0;}public Account(int id,double balance,double annuallnterestRate){this.id=id;this.balance=balance;this.annuallnterestRate=annuallnterestRate;}public int getId(){return id;}public double getBalance(){return balance;}public double getAnnuallnterestRate(){return annuallnterestRate;}public void setId(int id){this.id=id;}public void setBalance(double balance){this.balance=balance;}public void setAnnuallnterestRate(double annuallnterestRate){this.annuallnterestRate=annuallnterestRate;}public void withdraw(double amount){this.balance-=amount;5253}public void deposit(double amount){this.balance+=amount;}private int id;private double balance;private double annuallnterestRate;}public class Money{public static void main(String[] args) {Account a=new Account(1234,10000,0.0025);System.out.println("当前账户ID:"+a.getId());System.out.println("当前账户余额:"+a.getBalance());System.out.println("当前利率:"+a.getAnnuallnterestRate());System.out.println("取款3000后:");a.withdraw(3000);System.out.println("当前账户余额:"+a.getBalance());System.out.println("存款3000后:");a.deposit(3000);System.out.println("当前账户余额:"+a.getBalance());}}程序运行结果为:7.分别定义人类(People)、狗类(Dog)和羊类(Sheep).要求为每个属性提供访问器方法。