java初学者,一点一点积累,有许多错误和不完善的地方,希望大佬指教
要求运用数组及面向对象相关知识,完成如图所示的电话本
信息类:
public class Info {
private String name;
private String sex;
private String age;
private String phoneNumber;
private String qq;
private String adr;
public Info(){
}
public Info(String name,String sex,String age,String phoneNumber,
String qq,String adr){
this.name = name;
this.sex = sex;
this.age = age;
this.phoneNumber = phoneNumber;
this.qq = qq;
this.adr = adr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAdr() {
return adr;
}
public void setAdr(String adr) {
this.adr = adr;
}
}
private String sex;
private String age;
private String phoneNumber;
private String qq;
private String adr;
public Info(){
}
public Info(String name,String sex,String age,String phoneNumber,
String qq,String adr){
this.name = name;
this.sex = sex;
this.age = age;
this.phoneNumber = phoneNumber;
this.qq = qq;
this.adr = adr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAdr() {
return adr;
}
public void setAdr(String adr) {
this.adr = adr;
}
}
功能类:
import java.util.Scanner;
public class Functiion extends Info{
static Info []infos=new Info[100];
static Scanner sc = new Scanner(System.in);
//增加
public void add(){
System.out.print("姓名:");
String name=sc.next();
System.out.print("性别:");
String sex=sc.next();
System.out.print("年龄:");
String age = sc.next();
System.out.print("电话:");
String phoneNumber=sc.next();
System.out.print("QQ:");
String qq=sc.next();
System.out.print("地址:");
String adr=sc.next();
Info info = new Info(name,sex,age,phoneNumber,qq,adr);
int i=0;
while(true){
if(infos[i]==null){
infos[i]=info;
System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age+",电话:"
+ ""+phoneNumber+",地址:"+adr);
System.out.println("添加成功");
break;
}
i++;
}
}
//删除
public void delete(){
System.out.println("请输入你要删除的人的姓名:");
String name = sc.next();
for(int i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
System.out.println("确定要删除吗?1。是 2。否");
int x=sc.nextInt();
if(x==1){
for(int j=i;infos[j]!=null;j++){
infos[j]=infos[j+1];
}
System.out.println("删除成功");
break;
}
}
if(infos[i]==null){
System.out.println("此人不存在!");
}
}
}
//修改
public void change(){
System.out.print("请输入姓名:");
String name=sc.next();
for(int i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+"性别"+infos[i].getSex()
+"年龄"+infos[i].getAge()+"QQ"+infos[i].getQq()+"电话"+infos[i].getPhoneNumber()
);
System.out.print("姓名:");
String name1=sc.next();
System.out.print("性别:");
String sex1=sc.next();
System.out.print("年龄:");
String age1 = sc.next();
System.out.print("电话:");
String phoneNumber1=sc.next();
System.out.print("QQ:");
String qq1=sc.next();
System.out.print("地址:");
String adr1=sc.next();
Info info= new Info(name1,sex1,age1,phoneNumber1,qq1,adr1);
infos[i]=info;
System.out.println("修改成功");
break;
}
}
}
//查询所有
public void printAll(){
for(int i=0;infos[i]!=null;i++){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
}
}
//按姓名查询
public void printByName(){
System.out.print("请输入姓名:");
String name=sc.next();
int i=0;
for( i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
break;
}
}
if(infos[i]==null){
System.out.println("此人不存在");
}
}
}
static Info []infos=new Info[100];
static Scanner sc = new Scanner(System.in);
//增加
public void add(){
System.out.print("姓名:");
String name=sc.next();
System.out.print("性别:");
String sex=sc.next();
System.out.print("年龄:");
String age = sc.next();
System.out.print("电话:");
String phoneNumber=sc.next();
System.out.print("QQ:");
String qq=sc.next();
System.out.print("地址:");
String adr=sc.next();
Info info = new Info(name,sex,age,phoneNumber,qq,adr);
int i=0;
while(true){
if(infos[i]==null){
infos[i]=info;
System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age+",电话:"
+ ""+phoneNumber+",地址:"+adr);
System.out.println("添加成功");
break;
}
i++;
}
}
//删除
public void delete(){
System.out.println("请输入你要删除的人的姓名:");
String name = sc.next();
for(int i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
System.out.println("确定要删除吗?1。是 2。否");
int x=sc.nextInt();
if(x==1){
for(int j=i;infos[j]!=null;j++){
infos[j]=infos[j+1];
}
System.out.println("删除成功");
break;
}
}
if(infos[i]==null){
System.out.println("此人不存在!");
}
}
}
//修改
public void change(){
System.out.print("请输入姓名:");
String name=sc.next();
for(int i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+"性别"+infos[i].getSex()
+"年龄"+infos[i].getAge()+"QQ"+infos[i].getQq()+"电话"+infos[i].getPhoneNumber()
);
System.out.print("姓名:");
String name1=sc.next();
System.out.print("性别:");
String sex1=sc.next();
System.out.print("年龄:");
String age1 = sc.next();
System.out.print("电话:");
String phoneNumber1=sc.next();
System.out.print("QQ:");
String qq1=sc.next();
System.out.print("地址:");
String adr1=sc.next();
Info info= new Info(name1,sex1,age1,phoneNumber1,qq1,adr1);
infos[i]=info;
System.out.println("修改成功");
break;
}
}
}
//查询所有
public void printAll(){
for(int i=0;infos[i]!=null;i++){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
}
}
//按姓名查询
public void printByName(){
System.out.print("请输入姓名:");
String name=sc.next();
int i=0;
for( i=0;infos[i]!=null;i++){
if(name.equals(infos[i].getName())){
System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
+" 年龄:"+infos[i].getAge()+" QQ:"+infos[i].getQq()+" 电话:"+infos[i].getPhoneNumber()
);
break;
}
}
if(infos[i]==null){
System.out.println("此人不存在");
}
}
}
//主函数:
import java.util.Scanner;
import com.hpe.po.Functiion;
public class Main {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
Menu();
Functiion functiion =new Functiion();
while(true) {
String choose = scanner.next();
switch(choose) {
case "1":
//添加联系人
functiion.add();
Menu();
break;
case "2":
//删除联系人
functiion.delete();
Menu();
break;
case "3":
//修改联系人信息
functiion.change();
Menu();
break;
case "4":
//输出所有联系人的信息
functiion.printAll();
Menu();
break;
case "5":
//按姓名查询
functiion.printByName();
Menu();
break;
case "0":
System.out.println("谢谢使用");
break;
default:
System.out.println("输入有误,请重新输入");
}
if(choose.equals("0")) {
break;
}
}
}
public static void Menu(){
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.按姓名查询 0.退出");
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("请选择你要进行的操作:");
}
}
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
Menu();
Functiion functiion =new Functiion();
while(true) {
String choose = scanner.next();
switch(choose) {
case "1":
//添加联系人
functiion.add();
Menu();
break;
case "2":
//删除联系人
functiion.delete();
Menu();
break;
case "3":
//修改联系人信息
functiion.change();
Menu();
break;
case "4":
//输出所有联系人的信息
functiion.printAll();
Menu();
break;
case "5":
//按姓名查询
functiion.printByName();
Menu();
break;
case "0":
System.out.println("谢谢使用");
break;
default:
System.out.println("输入有误,请重新输入");
}
if(choose.equals("0")) {
break;
}
}
}
public static void Menu(){
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.按姓名查询 0.退出");
System.out.println("------------------------电话本管理系统-----------------");
System.out.println("请选择你要进行的操作:");
}
}