| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2737 人关注过本帖
标题:java自学之:循环问题
取消只看楼主 加入收藏
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
结帖率:0
收藏
 问题点数:0 回复次数:3 
java自学之:循环问题
写了一个函数里面是关于一个循环:
最终的目标是希望:当输入错误的时候会提示,然后重新输入 知道符合条件位置!
public static void in (String[][] rooms){
        Scanner s = new Scanner(System.in);
        do{System.out.print("请输入房间号:");
            int roomNo= s.nextInt();
            int floor =roomNo /100;
            int  No = roomNo %100;
            if(floor <1 ||floor >12 || No <1 || No >10)
                continue;
            System.out.print("房间号输入有误请重新输入:");
        }
        while (true);
                }
搜索更多相关主题的帖子: continue public java 
2016-03-29 12:29
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
收藏
得分:0 
回复 楼主 jscs_he
public static void in (String[][] rooms){
        System.out.print("请输入房间号:");
        Scanner s = new Scanner(System.in);
            int roomNo= s.nextInt();
            int floor =roomNo /100;//得到楼层号
            int  No = roomNo %100;//得到房间号
        if(floor < 1 || floor >12 || No <1 || No>10){//入住的函数就可以结束了
            System.out.println("输入的房间号错误:请重新输入:入住,命令继续操作!");
            return;
        }
        if (!"EMPTY".equals(rooms[floor-1][No-1])){
            System.out.println("该房间已经有人入住;请重新输入:入住命令继续操作");
            return;
        }
        System.out.print("请输入您的姓名:");
        String name =s.next();
        rooms[floor-1][No-1]=name;
        System.out.println("入住成功!");
        //
    }
我希望他输入错误之后重新输入 输入正确走下一步!
2016-03-29 13:45
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
收藏
得分:0 
/*
    酒店前台客房管理系统;我想在入住和退房的函数 做循环,不想每次输入错误就重新 输入 入住;
*/
import java.util.Scanner;
class  HotelSystem
{
    public static void main(String[] args) {
        //代表楼层所有的房间
        String[][] rooms =new String[12][10];
        System.out.println("欢迎来到xxx大酒店");
        System.out.println("请输入要操作的命令: 查询 ,入住,退房"
        +",quit 退出系统");
        Scanner s= new Scanner(System.in);
        //比较字符串是否相同,-------------"in".equals(command)
        while (true)
        {
            String command = s.next();
            if("查询".equals(command))
            {
                init(rooms);
                search(rooms);
            }else if ("入住".equals(command))
            {
                in(rooms);
            }else if("退房".equals(command)){
                out(rooms);
            else if("退出".equals(commadn)){
                System.out.println("系统退出成功");
                break;
            }else{
                System.out.println("输入有误,请重新输入!");
            }
            
        }
        //字符串数组如果没有初始化元素,每个元素都是null
    }
    //办理入住 ,----直接输入房间号进行入住,
    //将来可以先列出可以入住的房间 在让用户输入房间号
    public static void in (String[][] rooms){
        System.out.print("请输入房间号:");
        Scanner s = new Scanner(System.in);
            int roomNo= s.nextInt();
            int floor =roomNo /100;//得到楼层号
            int  No = roomNo %100;//得到房间号
        if(floor < 1 || floor >12 || No <1 || No>10){//入住的函数就可以结束了
            System.out.println("输入的房间号错误:请重新输入:入住,命令继续操作!");
            return;
        }
        if (!"EMPTY".equals(rooms[floor-1][No-1])){
            System.out.println("该房间已经有人入住;请重新输入:入住命令继续操作");
            return;
        }
        System.out.print("请输入您的姓名:");
        String name =s.next();
        rooms[floor-1][No-1]=name;
        System.out.println("入住成功!");
        //
    }
    public static void out(String[][]rooms){
        System.out.print("请输入房间号办理退房:");
        Scanner s =new Scanner(System.in);
            int roomNo= s.nextInt();
            int floor =roomNo /100;//得到楼层号
            int  No = roomNo %100;//得到房间号
        if(floor < 1 || floor >12 || No <1 || No>10){//入住的函数就可以结束了
            System.out.println("输入的房间号错误:请重新输入:(退房)命令继续操作!");
            return;
        }
        if ("EMPTY".equals(rooms[floor-1][No-1])){
            System.out.println(roomNo+"该房间暂无人入住;请重新输入:(退房)命令继续操作");
            return;
        }
        rooms[floor-1][No-1]="EMPTY";
        System.out.println("退房成功");

    }

        //房间查询--------->将来可以输入具体发房间号和状态来查询
    public static void search(String[][] rooms)
    {
        //打印房间号,
        for (int i=1;i<rooms.length ;i++ )
        {
            for (int j=0;j<rooms[i].length ;j++ )
            {
                if(i<=9)
                {
                    System.out.print("0");
                }
                int roomsN =(i)*100+j+1;
                System.out.print(roomsN+"\t");
            }
            System.out.println();
            //打印房间状态,
            for (int k =0;k<rooms[i].length ;k++ )
            {
                System.out.print(rooms[i][k]+"\t");
            }
            System.out.println();
        }
    }
    //初始化所有房间。
    public static void init(String[][] rooms)
    {
        for (int i=0;i<rooms.length ;i++ )
        {
            for (int j =0;j<rooms[i].length ;j++ )
            {
                rooms[i][j]="EMPTY";
            }
        }
        System.out.println("房间初始化完毕!");
    }
}
2016-03-29 14:15
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
收藏
得分:0 
回复 6楼 grmmylbs
十分感谢,,知道问题在哪里了,谢谢!
2016-03-29 14:39
快速回复:java自学之:循环问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053520 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved