提示所需要到的知识点有:增强for循环,if语句,循环语句的使用,面对对象基本知识,数组等。
难点:对象数组的理解与应用。
提示:下面案例可供参考
一、面对对象,改进客户信息的添加与显示案例
1.例题说明
2.要求:
步骤:
1.根据要求我们先定义一个Customer类,并根据立体说明添加姓名(name),年龄(age)和是否有会员卡(flag):
Customer代码如下(示例):
public class Customer {
String name; //客户名字 默认为public修饰
int age; //年龄
boolean flag = false; //没会员
public Customer() {}
public void addCustomer(String name , int age , boolean flag) {
this.name = name; //把传入的值赋值给成员变量
this.age = age; //this.age 是指的成员变量
this.flag = flag; //flag是传值
}
2.定义CustomerBiz类,并根据提示一个客户对象数组,并添加addCustomer(Customer customer),showCustomers()方法。
CustomerBiz代码如下(示例):
public class CustomerBiz {
Customer []cus = new Customer[30]; //定义一个对象数组,长度为30.
public void addCustomer(Customer customer){
for (int i = 0; i < cus.length; i++) { //cus.length为cus的长度
if (cus[i]==null) { //当cus[i]等于空执行以下代码块
cus[i]=customer; //把customer赋给cus[i]
break; //终止循环
}
}
}
public void showCustomers(){
System.out.println("客户信息:");
for (Customer cust : cus) { //增强for循环遍历
if(cust != null){ //不等于空输出以下代码
System.out.println(cust.name+"\t"+cust.age+"\t"+cust.flag+"\t");
}
}
}
test测试代码如下(示例):
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
CustomerBiz biz = new CustomerBiz();
for (int i = 0; i < 2; i++) { // 循环2次
Customer cus = new Customer();
System.out.print("请输入名称:");
String name = sc.next(); //接收键盘输入并用name接收
System.out.print("年龄:");
int age = sc.nextInt(); //接收键盘输入并用age接收
System.out.print("是否有会员卡(y/n):");
String num = sc.next(); //接收键盘输入并用num接收
if (num.equals("y")) { //判断num是否等于y
cus.addCustomer(name, age, true); //把前面接收的三个参数传入addCustomer(String name , int age , boolean flag)
}else if(num.equals("n")){
cus.addCustomer(name, age, false);
}else{
System.out.println("录入错误!");
break;
}
biz.addCustomer(cus); // 把cus传入biz.addCustomer
}
biz.showCustomers(); //调用showCustomers方法展示结果
}
2.演示结果
代码如下(示例):
请输入名称:aa
年龄:12
是否有会员卡(y/n):y
请输入名称:bb
年龄:13
是否有会员卡(y/n):n
客户信息:
aa 12 true
bb 13 false
方法不唯一,仅供参考
提示:下次发布跟这题一样,但是使用private 修饰成员变量,并使用set,get方法进行传值。并使用addCustomer(Customer cust);