JAVA while循环的问题

[复制链接]
查看11 | 回复3 | 2011-6-17 06:31:25 | 显示全部楼层 |阅读模式
游客类:

importjava.util.*;
publicclassvisitor{
       
        /**
        *游客姓名
        */
        publicStringname;
       
        /**
        *游客性别
        */
        publicStringsex;
       
        /**
        *游客年龄
        */
        publicintage;
       
        publicvoidshow(){
                Scannerinput=newScanner(System.in);
                while(!\"n\".equals(name)){
                        if(age=8){
                                System.out.println(name\"的年龄为\"age\"\\t性别:\"sex\"\\t门票价格为10元\");
                        }elseif(age=60){
                                System.out.println(name\"的年龄为\"age\"\\t性别:\"sex\"\\t门票价格为10元\");
                        }else{
                                System.out.println(name\"的年龄为\"age\"\\t性别:\"sex\"\\t门票价格为20元\");
                        }
                        System.out.println(\"\\n请输入姓名:\");
                        name=input.next();
                        if(!\"n\".equals(name)){
                                System.out.println(\"请输入年龄:\");
                                age=input.nextInt();
                                System.out.println(\"请输入性别:\");
                                sex=input.next();
                        }
                }
                System.out.println(\"退出程序\");
        }

}

_________________________________________________________________
输出:

importjava.util.*;
publicclassTest{
        publicstaticvoidmain(String[]args){
                Scannerinput=newScanner(System.in);
                        visitorv=newvisitor();
                System.out.println(\"请输入姓名:\");
                v.name=input.next();
                System.out.println(\"请输入年龄:\");
                v.age=input.nextInt();
                System.out.println(\"请输入性别:\");
                v.sex=input.next();
                v.show();
                       
                       
               
               
        }

}

上课的时候while循环没怎么听明白,这段代码怎么实现输入\"n\"后打印\"退出程序\"呢?
回复

使用道具 举报

千问 | 2011-6-17 06:31:25 | 显示全部楼层
那是因为你自己设定了一个输入
你的while循环使没有错的
但是你的主函数自己弄了个输入根本没有走while循环所以才会造成你的情况

你要把那个输入改得和你while循环里面一样的才会达到你要的效果(我看了第二遍才看明白你要的效果)
然后主函数改成这样:
publicstaticvoidmain(String[]args){
                Scannerinput=newScanner(System.in);
                        visitorv=newvisitor();
                System.out.println(\"请输入姓名:\");
                v.name=input.next();
                if(!\"n\".equals(v.name)){
                                System.out.println(\"请输入年龄:\");
                                v.age=input.nextInt();
                                System.out.println(\"请输入性别:\");
                                v.sex=input.next();
                                v.show();
                        }
                }

然后如果你学了封装的话注意一下java编程规范如果没学就这样就可以了









<h4class=\"ask\">追问


谢谢啊实现我要的效果了
规范我会注意的
回复

使用道具 举报

千问 | 2011-6-17 06:31:25 | 显示全部楼层
我引用了函数,name是由用户进行输入的,我需要的效果就是用户输入\"n\"则退出程序,输入其他字符串则继续循环
回复

使用道具 举报

千问 | 2011-6-17 06:31:25 | 显示全部楼层
嗯。我把你的代码复制下来,在我机子上没有什么问题啊,可以实现埃你输入n,不要\"\"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行