Java集合练习5-2,烦请老师检查并指正~
老师有几个疑问:
如何增加对编号存在与否的判断?list里面好像只有判断对象是否存在的方法,返回值是布尔类型。
在添加房源的方法中需要加入while循环吗?如果没有循环的话,好像当填错编号后,系统会报错并不会自己继续执行程序。
请问这个区间查看房源信息是想怎么查找啊?
House 类代码
public House(){
}
public House(int num, String name, String add, String type) {
this.setNum(num);
this.setName(name);
this.setAdd(add);
this.setType(type);
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAdd() {
return add;
}
public void setAdd(String add) {
this.add = add;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
TestHouse 测试类代码
/*
* 展示菜单
*/
public void menu() {
System.out.println("************************************************************");
System.out.println("1--添加房源");
System.out.println("2--查看具体房源信息");
System.out.println("3--区间查看房源信息");
System.out.println("0--退出房源中心");
System.out.println("************************************************************");
}
/*
* 添加房源
*/
public void addHouse() {
System.out.println("请输入房源编号:");
System.out.println("编号从0开始,并为连续数值,如:0,1,2,3");
try {
num = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("数字操作输入不正确 ,请重新输入:");
num = sc.nextInt();
}
System.out.println("请输入房源名称:");
String name = sc.next();
System.out.println("请输入房源地址:");
String add = sc.next();
System.out.println("请输入房源户型:");
String type = sc.next();
house = new House(num, name, add, type);
list.add(num, house);
}
/*
* 展示所有房源信息
*/
public void display() {
Iterator it = list.iterator();
System.out.println("全部房源信息:");
System.out.println("房源编号 房源名称");
while (it.hasNext()) {
house = (House) it.next();
System.out.println(house.getNum() + " " + house.getName());
}
}
/*
* 查看具体某一房源信息
*/
public void showOne() {
System.out.println("请输入要查看的具体房源编号:");
System.out.println("编号从0开始,并为连续数值,如:0,1,2,3");
try {
num = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("数字操作输入不正确 ,请重新输入:");
num = sc.nextInt();
}
house = list.get(num);
String str = "房源编号:" + house.getNum() + "\n房源名称:" + house.getName() + "房源地址:" + house.getAdd() + "房源类型:"
+ house.getType();
System.out.println(str);
}
/*
* 主方法测试整个程序运行
*/
public static void main(String[] args) {
TestHouse th = new TestHouse();
Scanner sc = new Scanner(System.in);
List<House> list = new ArrayList<House>();
House house = null;
int num = 0;
while (true) {
th.menu();
System.out.println("请输入相应数字进行操作:");
int input = 0;
try {
input = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("数字操作输入不正确 ,请重新输入:");
input = sc.nextInt();
}
switch (input) {
case 0:
System.out.println("结束程序");
System.exit(0);
case 1:
th.addHouse();
th.display();
break;
case 2:
th.display();
th.showOne();
break;
case 3:
System.out.println("区间查看房源信息是想按照什么查找?");
break;
}
}
}
16
收起
正在回答 回答被采纳积分+1
1回答
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星