1.请编写一个类其名字为ShuXue类,其中有这样几个方法第一个为求平均数,第二个为求最大数,第三个为求中间数,然后编写一个子类继承ShuXue类并且重写父类中的第一个方法使其得到的结果精度保留为小数点后的两位,最终在测试类中进行测试

package com.sj.homework;
/*** @desc 请编写一个类其名字为ShuXue类,其中有这样几个方法第一个为求平均数,第二个为求最大数,第三个为求中间数,*             然后编写一个子类继承ShuXue类并且重写父类中的第一个方法使其得到的结果精度保留为小数点后的两位,*          最终在测试类中进行测试* @author  ws* @time   7.31*/
public class ShuXue {public void avg(double a,double b){//平均数double c=(a+b)/2;System.out.println(c);}public void max(double a,double b){//最大数double c ;if (a>=b) {c=a;} else {c=b;}System.out.println(c);}public static void mid() {//中间数char[] arr = {1,2,3,4,5,7};//创建数组arrfor (int i = 0; i < arr.length; i++) {//获取arr数组中每一个元素的值if (i==0) {//让结果只执行一次if (arr.length%2==1) {//arr数组长度为奇数,中间数是最中间的那个数int j = (arr.length+1)/2-1;//中间数的索引System.out.println("中间数是:"+arr[j]);//输出} else {//arr数组长度为偶数,中间数是中间两个数的平均值int m = (arr.length/2)-1;//索引int n = arr.length/2;//索引System.out.println("中间数:"+(double)(arr[m]+arr[n])/2);;//输出}}}}}
package com.sj.homework;public class ShuXueZi extends ShuXue{public void avg(double a,double b){//平均数的修改double c=(a+b)/2;//商数cdouble d = c*100;//乘以100int e=(int) d;//取整if (d-e>=0.5) {//四舍五入e++;}float f = e/100f;//除以100,获得保留两位小数的值System.out.println(f);}
}
package com.sj.homework;
/*** @desc 请编写一个类其名字为ShuXue类,其中有这样几个方法第一个为求平均数,第二个为求最大数,第三个为求中间数,*             然后编写一个子类继承ShuXue类并且重写父类中的第一个方法使其得到的结果精度保留为小数点后的两位,*          最终在测试类中进行测试* @author  ws* @time   7.31*/
public class Test02 {public static void main(String[] args) {ShuXue sx=new ShuXue();//父类sxShuXueZi sxz = new ShuXueZi();//子类sxzsx.avg(1, 3.33);//父类平均数sxz.avg(1, 3.33);//子类平均数sxz.max(1, 8);//最大数sxz.mid();//中间数}}

2.请自己举一个多态的例子,并用代码进行实现

package com.sj.dt;
/*** @desc 端口* @author  ws* @time    7.31*/
public interface ISanGuo {public void say();
}
package com.sj.dt;
/*** @desc 实现类* @author  ws* @time   7.31*/
public class SanGuoImpl implements ISanGuo {@Overridepublic void say() {System.out.println("这是三国");}}
package com.sj.dt;public class CaoCao extends SanGuoImpl{@Overridepublic void say() {super.say();System.out.println("我是曹操");}}
package com.sj.dt;public class LiuBei extends SanGuoImpl{@Overridepublic void say() {
//      super.say();System.out.println("我是刘备");}}
package com.sj.dt;public class SunQuan extends SanGuoImpl{@Overridepublic void say() {
//      super.say();System.out.println("我是孙权");}}
package com.sj.dt;
/*** @desc 多态例子测试类* @author  ws* @time   7.31*/
public class Test {public static void main(String[] args){ISanGuo [] sanguo = new SanGuoImpl[3];//通过逐个赋值的方式向当前数组中存放对象值sanguo[0] = new CaoCao();sanguo[1] = new LiuBei();sanguo[2] = new SunQuan();for (int i = 0; i < sanguo.length; i++) {sanguo[i].say();}}}

3.利用封装实现球一行字符串对应的ASCII的和,并最终在测试类中进行测试

package com.sj.homework;
/*** @desc 3.利用封装实现球一行字符串对应的ASCII的和,并最终在测试类中进行测试*/
public class AscImpl {public static void ascSum(String str) {char [] arr = str.toCharArray();//字符串转成数组类型int sum =0;//创建ASCII的和的变量for (int i = 0; i < arr.length; i++) {//获取每个元素System.out.print(arr[i]+0+"\t");//查看值sum+=arr[i]+0;//给sum加值}System.out.println("\nASCII的和为:"+sum);//输出}
}
package com.sj.homework;import java.util.Scanner;/*** @desc 3.利用封装实现球一行字符串对应的ASCII的和,并最终在测试类中进行测试* @author  ws* @time  7.31*/
public class Asc {public static void main(String[] args) {//输入Scanner cin = new Scanner(System.in);System.out.print("请输入:");String str = cin.nextLine();//输出AscImpl asc=new AscImpl();asc.ascSum(str);}}

4.利用类的继承的的方式,请编写一个父类,且父类中的方法自拟,然后子类继承父类,最终在测试类中进行测试,且将结果输出出来

package com.sj.homework;public class Father {public void run() {System.out.println("这是父类中的方法。");}
}
package com.sj.homework;public class Son extends  Father{//shift+alt+s:...implement... 调用父类方法的操作@Overridepublic void run() {System.out.println("这是子类中的方法。");super.run();//调用父类中的run方法}
}
package com.sj.homework;
/*** @desc 利用类的继承的的方式,请编写一个父类,且父类中的方法自拟,然后子类继承父类,最终在测试类中进行测试,且将结果输出出来* @author  ws* @time 7.31*/
public class Test {public static void main(String[] args) {Son sn=new Son();//初始化sn.run();//输出}
}

5.利用代码重构的手段实现对“发红包这个游戏”的封装

package com.sj.bd;import java.util.Scanner;/*** @desc   红包游戏* @author  ws* @time  7.25**/
public class Red {public static void faRed(double c) {if (c<0.01) {System.out.println("发送失败,您也太抠了吧!");} else {System.out.println("发送成功!\n");System.out.print("输入1开始抢红包,输入其他退出:");}}public static void qiangRed(double c, int num) {if (num==1) {//保留两位小数的字符转换,小数点后两位的钱都被马化腾抢走了double d = c*100;int e = (int) d;if (d-e>=0.5) {//四舍五入e++;}float f = e/100f;System.out.println("恭喜你!获得"+f+"元!\n");} else {System.out.println("您已退出");}}}
package com.sj.bd;import java.util.Scanner;public class Test2 {public static void main(String[] args) {double a,b,c;int num;Scanner cin = new Scanner(System.in);Red red = new Red();//发红包System.out.print("请输入要发红包的金额:");a=cin.nextDouble();System.out.print("请输入要发红包的个数:");b=cin.nextDouble();c=a/b;//人均红包red.faRed(c);//发红包//抢红包num = cin.nextInt();red.qiangRed(c, num);//抢红包}}

java小作业(七)相关推荐

  1. 车行管理系统 java小作业

    一.编程练习:某公司要开发 " XX⻋⾏管理系统 " ,请使⽤⾯向对象的思想,设计⾃定义类描述⾃⾏⻋.电动⻋和三轮⻋. 程序参考运⾏效果图如下: 任务 任务分析: 第⼀步:分析⾃⾏ ...

  2. java小作业:for循环输出带“ * ”的直角三角形,等腰三角形,镂空等腰三角形,平行四边形

    题目: 1.输出用"*"表示的直角三角形 2.输出用"*"表示的等腰三角形 3.输出用"*"表示的镂空等腰三角形 4.输出用"*& ...

  3. 用JAVA写一个画图小程序(JAVA 大作业)

    第一次写博客 且是稍微大点的程序 看看就行 重新写的在这,更加清晰明了:点击进入:用JAVA写一个画图小程序(JAVA 大作业)重排版本 设计思路 首先我直接去了Windows自带画图程序去实践模拟, ...

  4. 【Java PTA作业】当老师一口气布置八个作业( 8 / 8 )

    目录 作业一:基本数据类型与表达式 一.判断题 二.单选题 作业二:程序控制结构 一.单选题 二.程序填空题 三.编程题 7-3 sdut-循环-5-百钱买百鸡 作业三:类与对象 一.单选题 二.编程 ...

  5. Java 多线程(七) 线程间的通信

    Java 多线程(七) 线程间的通信--wait及notify方法 线程间的相互作用 线程间的相互作用:线程之间需要一些协调通信,来共同完成一件任务. Object类中相关的方法有两个notify方法 ...

  6. java第四次上机作业_第十java上机作业

    第十java上机作业 第七章上级作业 7.1 public class Rectangle { double width=1; double height=1; String color=" ...

  7. java大作业1--电话簿

    java大作业1–电话簿 一.题目 Java程序设计实用教程p402 12-13 二.预览 三.题解 一.Friend类 首先明确这个电话簿存入的信息为一个个Friend,每一个Friend需要具有姓 ...

  8. Java小程序——模仿Win系统画板

    好久之前的一个小作业,用Java实现画板.毕竟当时花费不少功夫调试,在这里分享给大家,希望能够对需要的小伙伴有所帮助!声明一下,以下代码为参考网上相关代码修改,绝非完全原创. 运行效果图如下: 话不多 ...

  9. 2021-11-10----韩顺平Java入门第七天

    韩顺平Java入门第七天 1.标识符     标识符的概念         ①java对各种变量.方法和类等命名是使用的字符序列称为标识符.         ②凡是自己可以起名字的地方都叫标识符 in ...

最新文章

  1. cmd常用命令与演示
  2. pytorch 笔记:tensorboardX
  3. 【今日CS 视觉论文速览】 24 Dec 2018
  4. #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  5. 出现ESXi系统无法连接FreeNAS的情况?90%以上的人都做错了!
  6. Project Euler 66: Diophantine equation
  7. 【原译】一个可定制的WPF任务对话框
  8. 查看本地MSN帐号和密码
  9. 白山搜索引擎优化收费_百度搜索引擎优化收费标准
  10. PADS-VX入门到精通实战项目讲解(上)—LOGIC部分-覃小刚-专题视频课程
  11. phpstudy和mysql哪个好_Phpstudy升级到Mysql8
  12. “前浪”微博财报里的悲喜两极
  13. node php v2ex,一个仿V2EX的开源二次元论坛程序:Vmoex安装教程
  14. 计算机基础知识(基础入门小白专属)六
  15. First love
  16. nrm install 安装与使用
  17. 如何轻松的破解excel 2016工作表密码
  18. 使用Junit测试 RESTful
  19. 地铁供电系统原理图_地铁工作原理?
  20. Non-zero exit code解决方法

热门文章

  1. Python-实战:基于鲸鱼WOA的VMD超参数优化
  2. 【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好
  3. 文献阅读笔记:Unsupervised Question Answering by Cloze Translation
  4. 2022 万向区块链秋季黑客马拉松全球报名开启!
  5. 去水印神器(Lama Cleaner)
  6. 《跟二师兄学Nacos》02篇 Nacos的临时与持久化实例,傻傻分不清?
  7. 电子工程师常用电路图符号大全,你学会了吗?
  8. 解决selenium + chromedriver模拟登录被淘宝反爬
  9. 接入微信公众平台开发
  10. 4种常见的内容分发方式