JAVA中给数组动态赋值及在数组中查寻数据

JAVA中给数组动态赋值及在数组中查找数据

package java14.java;


/**
* 会员操作类
* @author Administrator
*
*/
public class hydo {
int num;
//声明会员信息类数组
// hyInfo[]info=new hyInfo[5];
hyInfo[]info;
//把数组变成动态
public hyInfo[] Arraynum(int num){
info=new hyInfo[num];
return info;
}
//录入hyInfo数组信息
public hyInfo[] info(hyInfo message){
for(int i=0;i<info.length;i++){
if(info[i]==null){
info[i]=message;
break;
}
}
return info;
}


//显示用户
public void show(){

System.out.println("*****会员列表*****");
System.out.println("编号\t积分");
for(int i = 0; i < info.length; i++){
//如果对象数组中下标为空的就不打印
if(info[i]!= null){
//把对象数组中的对象取出来
System.out.println(info[i].hyid+"\t"+info[i].hynum);

}
}
}

/**
* 查找用户
* @param name
* @return
*/
public boolean searchName(String name){
boolean find=false;
for(int i=0;i<info.length;i++){
if(info[i].hyid.equals(name)){
System.out.println("该会员的积分为:"+info[i].hyid);
find=true;
break;
}
}
return find;

}

}

package java14.java;
/**
* 会员信息类
* @author Administrator
*
*/
public class hyInfo {
String hyid; //会员编号
String hynum; //会员积分
}

 

package java14.java;

import java.util.Scanner;

/**
* 会员信息测试类
* @author Administrator
*
*/
public class Test {
//主程序入口
public static void main(String[] args) {
//实例化键盘输入
Scanner input=new Scanner(System.in);

//实例化会员操作类
hydo b=new hydo();

System.out.print("请输入会员数量:");
int num=input.nextInt();

//调用动态数组
b.Arraynum(num);
//实例化会员信息类 会员编号机会员积分
for(int i=0;i<b.info.length;i++){
//实例化会员信息类
hyInfo a=new hyInfo();
System.out.print("请输入会员编号:");
a.hyid=input.next();
System.out.print("请输入会员信息:");
a.hynum=input.next();
//实例化会员操作类对象数组
hyInfo[]info=b.info(a);
}
b.show(); //调用会员操作类 显示用户方法


for(;;){
//实例化键盘输入
Scanner input1 =new Scanner(System.in);
//通过布尔寻找用户名
System.out.print("请输入要查找的会员编号:");
//输入异常处理
if(input.hasNextInt()){
String name1=input.next();

//判定会员类 会员信息数组中是否存在所要查找会员
if(b.searchName(name1)){
//存在
break;
}else{
//不存在
System.out.println("该会员不存在!");
break;
}

}else{ //输入异常处理 出错
continue;
}

}


}
}

 

//代码运行效果图

 

 

 

JAVA中给数组动态赋值及在数组中查寻数据