A_PPiers 2019-04-25 13:38 采纳率: 0%
浏览 493

java设计一个支持信息查询的宠物商店中遇到了问题

1.程序要求实现根据用户提供的名称在寄养的宠物中查找宠物并输出该宠物的类型及创建序号。

2程序提供对宠物的信息输出功能(信息输出,如:喂养序号为1,名称为大黄的宠物狗,可以输出“1 狗 大黄”),可根据类型输出所有类型相同的宠物;并可根据寄样序号,输出该序号之前所有当前在店中寄样的宠物。

我在设计时似乎用数组不能实现对宠物信息的储存和再读取,部分代码如下:

class Pet{
    int rank;
    int []number = new int[10]; 
    String []name = new String[10];
    char []species = new char[10];
    PetShop st = new PetShop();
    char D = 'd';
    char C = 'c';
    char R = 'r';
    public void CreatePet() {
        int m = 0;
        System.out.println("请输入您宠物的昵称:");
        for(int i = 0;i<10;i++) {
            if(number[i] == m) {
                name[i] = input01.nextLine();
                number[i] = i;
                if(chosenFounction02 == 1) {
                    species[i] = D;
                }
                else if (chosenFounction02 == 2) {
                    species[i] = C;
                }
                else if (chosenFounction02 ==3) {
                    species[i] = R;
                }
                System.out.println("您宠物的序号是:"+number[i]);
                break;
            }
            else if(number[i] != 0) {
                continue;
            }
        }//这是负责创建对象的代码

public void SearchPet(String str){
        int times = 0;
        for(int i = 0;i<10;i++){
            if(name[i] == null) {
                continue;
            }

            else if(name[i].equals(str)){
                times++;
                if(species[i] == 'd'){
                    System.out.println(i+" 狗   ");
                }
                else if(species[i] == 'c'){    //这里报错java.lang.NullPointerException
                    System.out.println(i+" 猫  ");
                }
                else if(species[i] == 'r'){
                    System.out.println(i+" 兔子 ");
                }
                break;
            }
            else{
                if(times == 0){
                    System.out.println("很抱歉您的宠物不在我们商店里哦~");
                    dialog();
                    st.InputFounction();
                }
                else {
                    continue;
                }
            }//这是负责查询对象的代码
  • 写回答

2条回答 默认 最新

  • a718089112 2019-04-25 13:50
    关注

    数组存储数据在内存,并不是持久化的数据(持久化就是永久保存:保存到数据库或者一个文件里面)。你要先把数据持久化,查询的时候从持久化中获取

    评论

报告相同问题?

悬赏问题

  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站