java程序设计实验报告宠物商店(java实现宠物商店)

http://www.itjxue.com  2023-02-24 14:40  来源:未知  点击次数: 

java程序设计题,设计一个宠物商店,内有猫和狗两种宠物,研究名字、颜色和年龄等属

//望采纳,打这么多字不容易

一、问题描述

设计一个宠物商店,在商店中可以有多种宠物,试表示出此种关系,并要求可以根据关键字查找相应的宠物信息。所需要的宠物信息自行设定。

1、可以保存多个宠物的信息

2、宠物的属性:名字、年龄等

3、可以实现宠物上架、下架、模糊查询等功能。

实现思路

1.首先需要定义一个宠物类,因为宠物种类有很多,因此需要定义一个抽象类。该类中需要包含宠物的各种信息,例如:种类、名字、年龄、雌雄等。

2.有了宠物后还需要定义一个商店类,来存放各种宠物。该商店类可以展示出商店内的宠物信息,以满足用户需求。

3.因为要实现宠物的上架和下架操作,因此还需要定义一个上架类和下架类。可以通过该类对宠物进行上架和下架操作,以存放到商店中。

4.要实现模糊查询功能,需要定一个查询类,该类可以通过输入关键字来查询商店内的宠物信息来展现出来。

5.要实现上诉功能,还需要定义一个测试类,来实现上述操作。

代码实现:

1.宠物类

package 宠物商店;

public abstract class 宠物类 {

public String species; //种类

public String name; //名字

public String sex; //雌雄

public int age; //年龄

public 宠物类() {

}

public 宠物类(String species,String name,String sex,int age) {

this.species=species;

this.name=name;

this.sex=sex;

this.age=age;

}

public abstract void pet1();

public void setspecies(String species) {

this.species=species;

}

public String getspecies() {

return species;

}

public void setname(String name) {

this.name=name;

}

public String getname() {

return name;

}

public void setsex(String sex) {

this.sex=sex;

}

public String getsex() {

return sex;

}

public void setage(int age) {

this.age=age;

}

public int getage() {

return age;

}

}

2.商店类

package 宠物商店;

public class 商店类 extends 宠物类{

public 商店类(String species,String name,String sex,int age) {

super(species, name, sex,age);

}

public void pet1() {

System.out.println("宠物种类:"+species+"\t宠物名称:"+name+"\t宠物性别"+sex+"\t宠物年龄"+age+"岁");

}

static 商店类 doug1=new 商店类("金毛","豆豆","雄性",1);

static 商店类 doug2=new 商店类("牧羊犬","花花","雌性",2);

static 商店类 doug3=new 商店类("泰迪","毛毛","雄性",1);

static 商店类 doug4=new 商店类("二哈","笨笨","雌性",2);

static 商店类 cat1=new 商店类("加菲猫","胖胖","雄性",1);

static 商店类 cat2=new 商店类("波斯猫","玲玲","雌性",2);

}

3.下架类

package 宠物商店;

import java.util.Scanner;

public class 下架类 {

public static void XJ() {

Scanner scanner = new Scanner(System.in);

System.out.println("现在本店有以下宠物:");

商店类.doug1.pet1();

商店类.doug2.pet1();

商店类.doug3.pet1();

商店类.doug4.pet1();

商店类.cat1.pet1();

商店类.cat2.pet1();

System.out.println("请您选择要下架的宠物名称");

String name = scanner.next();

System.out.println("您好,您已成功下架名字为:"+name+"的宠物");

}

}

4.上架类

package 宠物商店;

import java.util.Scanner;

public class 上架类 {

public static String species; //种类

public static String name; //名字

public static String sex; //雌雄

public static int age; //年龄

public static void SJ() {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入你要上架宠物的种类:");

species=scanner.next();

System.out.println("请输入你要上架宠物的名字:");

name=scanner.next();

System.out.println("请输入你要上架宠物的雌雄:");

sex=scanner.next();

System.out.println("请输入你要上架宠物的年龄:");

age=scanner.nextInt();

商店类 cw=new 商店类(species,name,sex,age);

System.out.println("恭喜您,您已经成功上架:");

cw.pet1();

System.out.println("现在本商店有:");

商店类.doug1.pet1();

商店类.doug2.pet1();

商店类.doug3.pet1();

商店类.doug4.pet1();

商店类.cat1.pet1();

商店类.cat2.pet1();

cw.pet1();

}

}

5.查询类

package 宠物商店;

import java.util.Scanner;

public class 查询类 {

public static void CX() {

Scanner scanner = new Scanner(System.in);

System.out.println("尊敬的顾客您好,我会为您提供最优的服务");

System.out.println("1:查询本店宠物种类\t2:查询本店宠物信息");

int n = scanner.nextInt();

if(n==1) {

System.out.println("尊敬的顾客,目前本店有:1、宠物狗\t2、宠物猫");

}

if(n==2) {

System.out.println("请输入您要查询宠物的种类信息:");

String name = scanner.next();

if(name.equals("狗")||name.equals("gou")) {

System.out.println("本店提供"+name+"的品种为:");

商店类.doug1.pet1();

商店类.doug2.pet1();

商店类.doug3.pet1();

商店类.doug4.pet1();

}

else if(name.equals("猫")||name.equals("mao")) {

System.out.println("本店提供"+name+"的品种为:");

商店类.cat1.pet1();

商店类.cat2.pet1();

}

else {

System.out.println("给常抱歉,本店不能提供你所需要的宠物:"+name);

}

}

}

}

6.测试类

package 宠物商店;

import java.util.Scanner;

public class 测试类 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("**********欢迎来到宠物商店在线系统**********");

System.out.println("我们将为您提供最优秀的服务,请您做以下选择");

System.out.println("1:员工登录\t2:尊敬的顾客");

int i = scanner.nextInt();

if(i==1){

System.out.println("亲爱的员工您好,请选择您要进行的操作:");

System.out.println("1:对宠物进行上架操作\t2:对宠物进行下架操作");

int n = scanner.nextInt();

if(n==1) {

//转到上架类

上架类.SJ();

}

if(n==2) {

//转到下架类

下架类.XJ();

}

}

if(i==2) {

查询类.CX();

}

}

}

JAVA宠物商店的源代码 系统启动和宠物主人登录的接口具体代码是什么?

public?interface?接口A?{

public?void?get();

}

//**************

public?class?接口A的实现类?implements?接口A?{

@Override

public?void?get()?{

System.out.println(1);

}

}

//**************

public?class?Test?{

接口A?d?=?new?接口A的实现类();

public?Test()?{

d.get();

}

}

虽然可以,但不提倡,因为接口有其自己的存在意义,接口定义行为,一般的都是接口定义,然后用一个类实现。

如果您必须要在接口中实现方法:

public?interface?接口A?{

public?void?get();

public?default?void?set()?{

//实现

}

}

java实验报告总结

源代码:

public class Exe1_1 {

public static void main (String args[]){

byte a1=127;

int a2=12345;

long a3=123456789L;

float a4=1.23e-5f;

double a5=1.4567e3;

char a6=65;

boolean a7=true;

System.out.println("a1="+a1+"\na2="+a2+"\na3="+a3+"\na4="+a4+"\na5="+a5+"\na6="+a6+"\na7="+a7);

}

}运行结果:

2.编写Java小应用程序,输出两行字符串:“Java很有趣。”和“努力学习Java编程。”,输出的起点坐标是(20,20),行距是50像素。源程序代码:

import java.awt.Graphics;

import java.applet.Applet;

public class Exe1_2 extends Applet{

public void paint(Graphics g){

g.drawString("Java很有趣。",20,20);

g.drawString("努力学习Java编程。",20,70);

}

}运行情况:

3.使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。

源程序代码:

public class Exe1_3 {

public static void main (String args[]){

int n=3756,a,b,c,d,n1;

a=n/1000;

b=(n-1000*a)/100;

d=n%10;

c=(n%100-d)/10;

System.out.println("3756的逆序数为:"+d+" "+c+" "+b+" "+a);

System.out.print("各位数字平方后相加的和为:");

System.out.print(a*a+b*b+c*c+d*d);

}

}

运行结果:

三、实验总结(是否完成实验、实验过程中的问题以及解决方法分析等)

本次是我第一次使用JAVA来进行编程,感觉很是不一样,在前两节课中我们学习了有关Java的一些简单知识。然后这次的实验是对最初的一种练习。

在第一题中,我们重要是认识java的运行环境,并且了解各种变量的数据类型。只要通过简单的语句就可以通过运行。其中出现了一些单词的拼写错误,这些是可以修改正确的。第二题我们练习的十一个小的applet应用程序,需要设置一个网页来显示,这是一个很不一样的地方,最后成功测试,里面需要注意的是显示位置的问题。第三题我们做的是一个有算法要求的解决问题,在测试中出现了一点小问题,程序的算法出了错。还有一个问题是有关于显示问题,最后的数据输出需要用到两行分别显示字符和数据,这样才不会出错。

有个关于java多态与接口的题想请高手帮忙给解答一下

/**?宠物商店?**/

public?class?ZooShop?{

//宠物列表

private?ListAnima?animalList?=new?ArrayListAnima();

//最大动物数

private?int?animaMaxSize=0;?

/**?创建商店(无数量限止)?**/

public?ZooShop(){};

/**

?*?创建商店(有数量限止,由用户指定)

?*?@param?animaSize?最大宠物数

?*/

public?ZooShop(int?animaMaxSize){

this.animaMaxSize=animaMaxSize;

}

/**

?*?增加一个宠物

?*?@param?anima

?*/

public?void?addAnima(Anima?anima){

if(animaMaxSize?0??animalList.size()=animaMaxSize){

System.out.println("超出商店最大容纳数:"+anima.getName());

return;

}

System.out.println("增加成功:"+anima.getName());

animalList.add(anima);

}

/**

?*?根据宠物名查询宠物信息

?*?@param?name?宠物名

?*/

public?void?queryAnimaInfo(String?name){

for(int?i=0;ianimalList.size();i++){

Anima?anima=animalList.get(i);

if(anima.getName().equals(name)){

System.err.println("--------------动物信息---------------");

System.err.println("宠物类别:"+anima.getClass().getName());

System.err.println("宠物名:"+anima.getName());

System.err.println("年龄:"+anima.getAge());

System.err.println("颜色:"+anima.getColor().toString());

if(anima?instanceof?Dog){

((Dog)anima).eat();

}else?if(anima?instanceof?Cat){

((Cat)anima).meow();

}

break;

}

}

}

public?static?void?main(String[]?args)?{

//无参商店无数量限止,有参商店需指定最大数量

//ZooShop?zooShop=new?ZooShop();

ZooShop?zooShop=new?ZooShop(3);

zooShop.addAnima(new?Dog("dog1",2,"黑白斑点"));

zooShop.addAnima(new?Dog("dog2",3,"黑色"));

zooShop.addAnima(new?Cat("cat1",2,"白色"));

zooShop.addAnima(new?Cat("cat2",2,"灰色"));

zooShop.queryAnimaInfo("dog2");

zooShop.queryAnimaInfo("cat1");

}

}

/**

?*?狗(继承动物)

?*?@author?Administrator

?*

?*/

class?Dog?implements?Anima{

private?String?name;

private?String?color;

private?int?age;

public?Dog(String?name,int?age,String?color){

this.name=name;

this.age=age;

this.color=color;

}

//狗的特性之一

public?void?eat(){

System.err.println("小狗啃骨头");

}

public?String?getName()?{

return?name;

}

public?int?getAge()?{

return?age;

}

public?String?getColor()?{

return?color;

}

}

/**

?*?猫(继承动物)

?*?@author?Administrator

?*

?*/

class?Cat?implements?Anima{

private?String?name;

private?String?color;

private?int?age;

public?Cat(String?name,int?age,String?color){

this.name=name;

this.age=age;

this.color=color;

}

//猫的特性之一

public?void?meow(){

System.err.println("小猫喵喵叫");

}

public?String?getName()?{

return?name;

}

public?int?getAge()?{

return?age;

}

public?String?getColor()?{

return?color;

}

}

/**?动物接口类?**/

interface?Anima{

public?String?getName();

public?int?getAge();

public?String?getColor();

}

接口多态,与类的多态类似

(责任编辑:IT教学网)

更多

推荐XML/XSLT文章