Java_簡単な電話帳を書く
作成された機能フレームワーク
Personクラス
PhoneBook
Testクラス
:
· :
· :
1.
2. ( )
3.
4. id ( id 1),
5. id
6.
:
1、 , id , , , , ,
2、
3、
4、 10 ( )
:
PhoneBook
Person
Test
Personクラス
package telbook;
public class Person {
private int id;
private static int num = 1;
private String name;
private String sex;
private int age;
private String telnumber;
public Person() {
super();
}
public Person(String name, String sex, int age, String telnumber) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.telnumber = telnumber;
this.id = num;
num++;
}
public int getId() {
return id;
}
public void setCount(int id) {
this.id = id;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTelnumber() {
return telnumber;
}
public void setTelnumber(String telnumber) {
this.telnumber = telnumber;
}
@Override
public String toString() {
return "Person" + "[id" + id + ",name=" + name + ", sex=" + sex + ", age=" + age + ", telnumber="
+ telnumber + "]";
}
}
PhoneBook
package telbook;
import java.util.Scanner;
public class PhoneBook {
Scanner sc = new Scanner(System.in);
// 1-6
public static int input() {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
while (true) {
if (i > 6 && i < 0) {
System.out.println(" ");
i = sc.nextInt();
} else
break;
}
return i;
}
// id , , , , ,
int total;//
private Person[] arr;// Person
int count;//
// arr
public PhoneBook(int total) {
arr = new Person[total];
this.total = total;
}
//
public void add(Person p) {
if (count < total) {
arr[count] = p;
count++;
} else
System.out.println(" !");
}
//
public Person[] find(String name) {
//
Person[] p = new Person[count];
// ps ,
int idx = 0;//
//
for (int i = 0; i < count; i++) {
if (arr[i].getName().equals(name)) {
p[idx] = arr[i];
idx++;
}
}
return p;
}
// -
public void findAll() {
for (int i = 0; i < count; i++) {
System.out.println(arr[i].toString());
}
}
// id
/*
* 1. id 2.
*/
public Person update(int id) {
for (int i = 0; i < count; i++) {
if (arr[i].getId() == id) {
return arr[i];
}
}
return null;
}
// id
// public void delete(int id) {
// for (int i = 0; i < count - 1; i++) {
// // id
// if (arr[i].getId() == id) {
// //
// arr[i] = arr[i + 1];
//
// }
// //
// arr[count-1] = null;
// count--;
// }
// }
public void delete(int id) {
int idx = -1;
for (int i = 0; i < count - 1; i++) {
// id
if (arr[i].getId() == id) {
idx = i;
}
}
if (idx != -1) {
//
for (int i = idx; i < count - 1; i++) {
arr[i] = arr[i + 1];
}
}
arr[count - 1] = null;
count--;
}
}
Testクラス
package telbook;
import java.util.Scanner;
public class Test {
private static final String Person = null;
public static void main(String[] args) {
showInfo();
}
public static void showInfo(){
Scanner sc = new Scanner(System.in);
PhoneBook pb = new PhoneBook(10);
boolean flag = true;
do{
System.out.println("\t\t1. ");
System.out.println("\t\t2. ");
System.out.println("\t\t3. ");
System.out.println("\t\t4. ");
System.out.println("\t\t5. ");
System.out.println("\t\t6. ");
System.out.print("\t\t ID:");
int i = PhoneBook.input();
switch(i){
case 1: System.out.println(" :");
String name = sc.next();
System.out.println(" :");
String sex = sc.next();
System.out.println(" :");
int age = sc.nextInt();
System.out.println(" :");
String tel = sc.next();
Person person = new Person(name,sex,age,tel);
pb.add(person);
break;
case 2: System.out.println(" :");
String name2 = sc.next();
// p
Person[] p = pb.find(name2);
//
for (Person person2 : p) {
//
if(person2!=null){
//null.
System.out.println(person2.toString());
}else{
System.out.println(" !");
}
}
break;
case 3: pb.findAll();
break;
case 4: System.out.println(" :");
int id = sc.nextInt();
Person p4 = pb.update(id);
System.out.println(" :");
String name4 = sc.next();
System.out.println(" :");
String tel4 = sc.next();
p4.setName(name4);
p4.setTelnumber(tel4);
break;
case 5: System.out.println(" ?");
int id1 = sc.nextInt();
pb.delete(id1);
break;
case 6: flag = false;
}
}while(flag);
}
}