日期:2014-05-20  浏览次数:20593 次

{菜鸟求助}刚刚学到带参的方法
运行很正常,也能显示出找到的客户姓名,但要是输入找不到的客户姓名就会报错了。
可是我完全按照书上的demo来做的

这是客户类
Java code

  String[] names = new String[30];  // 姓名数组    
    
    /**
     * 增加姓名
     * @param name要增加的姓名
     */
    public void addName(String name){
        for(int i =0;i<names.length;i++){
            if(names[i]==null){
                names[i]=name;
                break;
            }
        }
    }
    /**
     * 显示姓名
     */
    public void showNames(){
        System.out.println("**************************");
        System.out.println("\t客户姓名列表:");
        System.out.println("**************************");
        for(int i =0;i<names.length;i++){
            if(names[i]!=null){
                System.out.print(names[i]+"\t");
            }
        }
        System.out.println();
    }
    /**
     * 阶段2:查找
     * @param name要查找的姓名
     * @return 是否找到
     */
    public boolean search(String name){
        boolean find = false;  // 代表是否找到
        int i=0;
        while(names[i] != null){
            if(names[i].equals(name)){
                find = true;  // 找到了]
                break;
            }
            i++;
        }
        return find;
    }    




这是test
Java code

CustomerBiz cb=new CustomerBiz();
        boolean con=true;
        Scanner input = new Scanner(System.in);
        
        while(con){
            System.out .print("请输入客户的姓名:");
            String newName = input.next();
            cb.addName(newName);
            System.out .print("继续输入吗?(y/n):");
            String choice=input.next();
            if(choice.equals("n")){
                con=false;
            }
        }
        cb.showNames();
        
        System.out.print("\n请输入要查找的客户姓名:");
        String name = input.next();
        System.out.println("*****查找结果*****");
        if(cb.search(name)){
            System.out.println("找到了!");
        }
        else{
            System.out.println("没找到!");
        }



哪位大虾帮忙解答一下,求指导

------解决方案--------------------
这个程序没问题啊~ 不过这样写 不觉得麻烦啊~需求那么简单,写的这么复杂、、、而且在main方法写逻辑、、
------解决方案--------------------
我试了下没报错呀!你重试一下吧