Java编程题-编写一个定义了包mytest.mypg的类,在该类中通过方法print()输出“?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编程题-编写一个定义了包mytest.mypg的类,在该类中通过方法print()输出“?相关的知识,希望对你有一定的参考价值。
一、类和对象1.定义一个类Demo,其中定义一个求两个数据和的方法,定义一个测试了Test,进行测试。
2.定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test2,进行测试。
3.定义一个员工类,自己分析出几个成员,然后给出成员变量,构造方法, getXxx()/setXxx()方法,以及一个显示所有成员信息的方法。并测试。
4.定义一个类MyMath,提供基本的加减乘除功能,然后进行测试。
5.定义一类圆,求圆的周长和面积
二、继承
按要求编写一个Java应用程序:
(1)编写一个矩形类Rect,包含:
矩形的宽width;矩形的高height。
两个构造方法:
1.一个带有两个参数的构造方法,用于将width和height属性初化;
2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。
两个方法:
求矩形面积的方法area()
求矩形周长的方法perimeter()
(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用
矩形的左上角坐标来标识,包含:
添加两个属性:矩形左上角坐标startX和startY。
两个构造方法:
带4个参数的构造方法,用于对startX、startY、width和height属性初始化;
不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;
添加一个方法:
判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。
提示:点在矩形类是指满足条件:
x>=startX&&x<=(startX+width)&&y=(startY-height)
(3)编写PlainRect类的测试程序
创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;
计算并打印输出矩形的面积和周长;
判断点(25.5,13)是否在矩形内,并打印输出相关信息。
三、多态
public class DTTest
public static void main(String[] args)
Animal am = new Cat();//向上转型
am.eat();//猫吃饭
am.sleep();//动物在睡觉
am.run();//动物在奔跑
System.out.println(am.num);//10
System.out.println(am.age);//20
//am.catchMouse();//报错,子类中独有的方法
// System.out.println(am.name);//报错,子类中独有的属性
Cat ct = (Cat)am;//向下转型
ct.eat();//猫吃饭
ct.sleep();//猫在睡觉
ct.run();//动物在奔跑
ct.catchMouse();//猫在抓老鼠
class Animal
int num = 10;
static int age = 20;
public void eat()
System.out.println("动物吃饭");
public static void sleep()
System.out.println("动物在睡觉");
public void run()
System.out.println("动物在奔跑");
class Cat extends Animal
int num = 80;
static int age = 90;
String name = "tomCat";
public void eat()
System.out.println("猫吃饭");
public static void sleep()
System.out.println("猫在睡觉");
public void catchMouse()
System.out.println("猫在抓老鼠");
四、抽象类和接口
1. 定义一个动物类,里面有一个方法voice(),
定义一个类Cat,实现voice方法
然后增加一种新的动物类型:Pig(猪),实现voice()方法。
定义一个Dog类,实现voice方法
定义一个Store(宠物店)类的getInstance方法:
如果传入的参数是字符串dog,则返回一个Dog对象;
如果传入pig,则返回一个Pig对象;否则,返回一个Cat对象。
2.
1)定义一个抽象类Animal,其中包括属性name,相关构造方法,抽象方法enjoy()表示动物高兴时动作。
2)定义Cat类继承于Animal类,其中包括属性eyesColor,相关构造方法,同时具体化父类中的抽象方法。
3)定义Dog类继承于Animal类,其中包括属性furColor,相关构造方法,同时具体化父类中的抽象方法。
4)定义Lady类,其中包括属性name,以及Animal 类型的属性pet表示女士所养的宠物,定义构造方法,
生成女士对象时初始化姓名和她所养的宠物。
定义一个方法:myPetEnjoy表示此女士的宠物在高兴时的动作。提示:对于此类的定义中需要使用到多态性。
5)定义测试类。
创建一个张女士,养了一只猫,让这只猫笑一笑
创建一个王女士,养了一只狗,让这只狗叫一叫
3.
按如下要求编写Java程序:
(1)编写接口InterfaceA,接口中含有方法void printCapitalLetter()。
(2)编写接口InterfaceB,接口中含有方法void printLowercaseLetter()。
(3)编写非抽象类Print,该类实现了接口InterfaceA和InterfaceB。
要求printCapitalLetter()方法实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文字母表的功能。
(4)再写一个主类Test,在main方法中创建Print的对象并赋值给InterfaceA的变量a,由变量a调用printCapitalLetter方法,
然后再创建Print的对象并将该对象赋值给InterfaceB的变量b,由变量b调用printLowercaseLetter方法
4.
(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。
(2)定义接口B,里面包含抽象方法void setColor(String c)。
(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。
(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、圆柱体的高height、颜色color。
(5)创建主类来测试类Cylinder。
5.
(*)按如下要求编写Java程序:
(1)编写一个接口:OneToN,只含有一个方法int dispose(int n)。
(2)编写一个非抽象类Sum来实现接口OneToN,实现int dispose (int n)接口方法时,要求计算1 + 2 + … + n。
(3)编写另一个非抽象类Pro来实现接口OneToN,实现int dispose (int n)接口方法时,要求计算1 * 2 * … * n。
(4)编写测试类Test,在main方法中使用接口回调技术来测试实现接口的类。 参考技术A public class BoxTest
public static void main(String[] args)
Box b = new Box();
b.setBox(5, 2, 8);
System.out.println(b.volume());
class Box
private int length;
private int width;
private int heigth;
//初始化长方体的长宽高
public void setBox(int l, int w, int h)
this.length = l;
this.width = w;
this.heigth = h;
//用于计算长方体的体积,并返回
public int volume()
return this.length * this.width * this.heigth;
Java编程题
java写一个猴子类,必须提供它的名称,种类,体重,出生年月,生活地点等属性以及吃香蕉、跑动等方法,要求必须继承一个基类(基类自定义,子类重载基类的某些方法);
参考技术A 第一题:<pre t="code" l="java">public class People
private String name;
public String speak()
return "";
public String getName()
return name;
public void setName(String name)
this.name = name;
public class American extends People
private String name;
@Override
public String speak()
return "i’m speak English";
public String getName()
return name;
public void setName(String name)
this.name = name;
public class Chinese extends People
private String name;
@Override
public String speak()
return "我说中国话";
public String getName()
return name;
public void setName(String name)
this.name = name;
import java.util.HashMap;
import java.util.Map;
public class Demo01
public static Map<?, ?> recruit(People[] people)
Map<String, String> resultMap = new HashMap<String, String>();
for (People p : people)
if ("我说中国话".equals(p.speak()))
resultMap.put(p.getName(), "中国人");
else
resultMap.put(p.getName(), "美国人");
return resultMap;
public static void main(String[] args)
Chinese chinese01 = new Chinese();
chinese01.setName("小明");
Chinese chinese02 = new Chinese();
chinese02.setName("小红");
American american = new American();
american.setName("Tom");
People[] peoples = new People[] chinese01, chinese02, american ;
Map<String, String> resultMap = new HashMap<String, String>(3);
resultMap = (Map<String, String>) recruit(peoples);
for (Map.Entry<String, String> entry : resultMap.entrySet())
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
/*
运行结果
Tom:美国人
小明:中国人
小红:中国人
*/ 第二题:<pre t="code" l="java">public class Engineer
private String name;
public String writerCode()
return "";
public String getName()
return name;
public void setName(String name)
this.name = name;
public class JavaEngineer extends Engineer
private String name;
@Override
public String writerCode()
return "在写Java代码";
public String getName()
return name;
public void setName(String name)
this.name = name;
public class iOSEngineer extends Engineer
private String name;
@Override
public String writerCode()
return "在写iOS代码";
public String getName()
return name;
public void setName(String name)
this.name = name;
import java.util.HashMap;
import java.util.Map;
public class Demo02
public static Map<?, ?> recruit(Engineer[] Engineer)
Map<String, String> resultMap = new HashMap<String, String>();
for (Engineer e : Engineer)
if ("在写Java代码".equals(e.writerCode()))
resultMap.put(e.getName(), "Java工程师");
else
resultMap.put(e.getName(), "iOS工程师");
return resultMap;
public static void main(String[] args)
JavaEngineer JavaEngineer01 = new JavaEngineer();
JavaEngineer01.setName("Sunny");
JavaEngineer JavaEngineer02 = new JavaEngineer();
JavaEngineer02.setName("Jain");
iOSEngineer iOSEngineer = new iOSEngineer();
iOSEngineer.setName("Tony");
Engineer[] Engineers = new Engineer[] JavaEngineer01, JavaEngineer02, iOSEngineer ;
Map<String, String> resultMap = new HashMap<String, String>(3);
resultMap = (Map<String, String>) recruit(Engineers);
for (Map.Entry<String, String> entry : resultMap.entrySet())
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
/*
运行结果:
Sunny:Java工程师
Jain:Java工程师
Tony:iOS工程师
*/
以上是关于Java编程题-编写一个定义了包mytest.mypg的类,在该类中通过方法print()输出“?的主要内容,如果未能解决你的问题,请参考以下文章
Java编程题: 编写一个Student类,包含name和age属性,提供有参构造方法?