java基础 用arraylist做电话本
来源:互联网 发布:亚裔女神asiafox 知乎 编辑:程序博客网 时间:2024/06/04 00:59
package arrays;
import java.awt.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class Phone {
private String name;
private String sex;
private int age;
private String phonenum;
private String qqnum;
private String address;
static ArrayList<Phone> phonelist = new ArrayList<Phone>(100);
public void add() {
Phone phone1 = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("输入姓名:");
phone1.name = (sc.next());
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(phone1.name)) {
System.out.println("重复输入姓名,请重新选择!");
return;
}
}
System.out.println("输入性别:");
phone1.sex = (sc.next());
System.out.println("输入年龄:");
phone1.age = (sc.nextInt());
System.out.println("输入电话号码:");
phone1.phonenum = (sc.next());
System.out.println("输入qq号码:");
phone1.qqnum = (sc.next());
System.out.println("地址:");
phone1.address = (sc.next());
phonelist.add(phone1);
System.out.println("添加成功!");
}
public void delete() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的人名:");
String nameInDelete = sc.nextLine();
System.out.println("确定要删除吗!确定请输入y返回输入n");
String nameInDelete1 = sc.next();
if (nameInDelete1.equalsIgnoreCase("n")) {
return;
}
for (int i = 0; i < phonelist.size(); i++) {
if ((((phonelist.get(i))).name).equals(nameInDelete)) { // 强转phone类型用get接收数组下标再.出其属性
phonelist.remove(i);
}
}
System.out.println("删除成功!");
}
public void update() {
Phone phoneupdate = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要修改的人名:");
String nameInUpdate = sc.nextLine();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(phoneupdate.name)) {
System.out.println("重复输入姓名,请重新选择!");
return;
}
}
System.out.println("确定要修改吗!确定请输入y返回输入n");
String nameInUpdate1 = sc.next();
if (nameInUpdate1.equalsIgnoreCase("n")) {
return;
}
for (int i = 0; i < phonelist.size(); i++) {
if (((phonelist.get(i))).name.equals(nameInUpdate)) {
System.out.println("输入姓名:");
phoneupdate.name = (sc.next());
System.out.println("输入性别:");
phoneupdate.sex = (sc.next());
System.out.println("输入年龄:");
phoneupdate.age = (sc.nextInt());
System.out.println("输入电话号码:");
phoneupdate.phonenum = (sc.next());
System.out.println("输入qq号码:");
phoneupdate.qqnum = (sc.next());
System.out.println("地址:");
phoneupdate.address = (sc.next());
// phonelist.add(phoneupdate);
phonelist.set(i, phoneupdate);
}
}
System.out.println("修改成功!");
}
public void all() {
// Phone Allphone = new Phone();
// //运用toarray时定义object类型的数组接收,再强转phone类型利用d来接收b数组中的属性
// Object[] b = phonelist.toArray();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
System.out.println(book);
}
}
public void findname() {
// Object[] b = phonelist.toArray();
Phone phonefindname = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要查找的人名:");
String nameInFindName = sc.nextLine();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(nameInFindName)) {
System.out.println(book);
}
}
}
public String toString() {
return "姓名:" + name + "\t性别" + sex + "\t年龄" + age + "\t电话号码" + phonenum
+ "\tqq号码" + qqnum + "\t地址" + address;
}
}
import java.util.Scanner;
public class Testphone {
public static void main(String[] args) {
while (true) {
System.out.println("----------------电话本管理系统---------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("----------------电话本管理系统---------------");
System.out.println("请选择业务:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
switch (a) {
case 1:
Phone Addphonebook = new Phone();
Addphonebook.add();
break;
case 2:
Phone Deletephonebook = new Phone();
Deletephonebook.delete();
break;
case 3:
Phone Updatephonebook = new Phone();
Updatephonebook.update();
break;
case 4:
Phone Allphonebook = new Phone();
Allphonebook.all();
break;
case 5:Phone Findnamephonebook = new Phone();
Findnamephonebook.findname();break;
case 0:
default:
}
}
}
}
import java.awt.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class Phone {
private String name;
private String sex;
private int age;
private String phonenum;
private String qqnum;
private String address;
static ArrayList<Phone> phonelist = new ArrayList<Phone>(100);
public void add() {
Phone phone1 = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("输入姓名:");
phone1.name = (sc.next());
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(phone1.name)) {
System.out.println("重复输入姓名,请重新选择!");
return;
}
}
System.out.println("输入性别:");
phone1.sex = (sc.next());
System.out.println("输入年龄:");
phone1.age = (sc.nextInt());
System.out.println("输入电话号码:");
phone1.phonenum = (sc.next());
System.out.println("输入qq号码:");
phone1.qqnum = (sc.next());
System.out.println("地址:");
phone1.address = (sc.next());
phonelist.add(phone1);
System.out.println("添加成功!");
}
public void delete() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的人名:");
String nameInDelete = sc.nextLine();
System.out.println("确定要删除吗!确定请输入y返回输入n");
String nameInDelete1 = sc.next();
if (nameInDelete1.equalsIgnoreCase("n")) {
return;
}
for (int i = 0; i < phonelist.size(); i++) {
if ((((phonelist.get(i))).name).equals(nameInDelete)) { // 强转phone类型用get接收数组下标再.出其属性
phonelist.remove(i);
}
}
System.out.println("删除成功!");
}
public void update() {
Phone phoneupdate = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要修改的人名:");
String nameInUpdate = sc.nextLine();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(phoneupdate.name)) {
System.out.println("重复输入姓名,请重新选择!");
return;
}
}
System.out.println("确定要修改吗!确定请输入y返回输入n");
String nameInUpdate1 = sc.next();
if (nameInUpdate1.equalsIgnoreCase("n")) {
return;
}
for (int i = 0; i < phonelist.size(); i++) {
if (((phonelist.get(i))).name.equals(nameInUpdate)) {
System.out.println("输入姓名:");
phoneupdate.name = (sc.next());
System.out.println("输入性别:");
phoneupdate.sex = (sc.next());
System.out.println("输入年龄:");
phoneupdate.age = (sc.nextInt());
System.out.println("输入电话号码:");
phoneupdate.phonenum = (sc.next());
System.out.println("输入qq号码:");
phoneupdate.qqnum = (sc.next());
System.out.println("地址:");
phoneupdate.address = (sc.next());
// phonelist.add(phoneupdate);
phonelist.set(i, phoneupdate);
}
}
System.out.println("修改成功!");
}
public void all() {
// Phone Allphone = new Phone();
// //运用toarray时定义object类型的数组接收,再强转phone类型利用d来接收b数组中的属性
// Object[] b = phonelist.toArray();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
System.out.println(book);
}
}
public void findname() {
// Object[] b = phonelist.toArray();
Phone phonefindname = new Phone();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要查找的人名:");
String nameInFindName = sc.nextLine();
Iterator<Phone> iter = phonelist.iterator();
while (iter.hasNext()) {
Phone book = iter.next();
if (book.name.equals(nameInFindName)) {
System.out.println(book);
}
}
}
public String toString() {
return "姓名:" + name + "\t性别" + sex + "\t年龄" + age + "\t电话号码" + phonenum
+ "\tqq号码" + qqnum + "\t地址" + address;
}
}
import java.util.Scanner;
public class Testphone {
public static void main(String[] args) {
while (true) {
System.out.println("----------------电话本管理系统---------------");
System.out.println("1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("----------------电话本管理系统---------------");
System.out.println("请选择业务:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
switch (a) {
case 1:
Phone Addphonebook = new Phone();
Addphonebook.add();
break;
case 2:
Phone Deletephonebook = new Phone();
Deletephonebook.delete();
break;
case 3:
Phone Updatephonebook = new Phone();
Updatephonebook.update();
break;
case 4:
Phone Allphonebook = new Phone();
Allphonebook.all();
break;
case 5:Phone Findnamephonebook = new Phone();
Findnamephonebook.findname();break;
case 0:
default:
}
}
}
}
小结:
加个static修饰phonelist就好啦 当然 除此之外还有一些小的逻辑处理不太恰当 改动一下就可以
static修饰的是归类所有 也就是被所有对象所共享使用
在进行各种操作的时候每次都new一个phone对象出来 如果不加static则他们之间的phonelist数据不能共享 所以每次都要在没有数据的基础上进行逻辑处理
在for循环里面获取每一个数组元素就可以
声明时确定<Phone>类型就不用强转了
然后取其各属
0 0
- java基础 用arraylist做电话本
- java 电话本
- java-基础-ArrayList剖析
- JAVA基础--ArrayList
- java基础之ArrayList
- Java基础-----集合Arraylist
- 简谈JAVA基础--ArrayList
- Java基础之ArrayList
- Java模拟电话本操作
- java实现简单电话本
- java基础应用之ArrayList
- Java基础----ArrayList、LinkedList、Vector
- 黑马程序员-java基础-ArrayList
- Java基础-ArrayList源码浅析
- Java基础--集合List-ArrayList
- 【Java基础】ArrayList工作原理
- java控制台电话本 用io流和序列化实现
- 电话本
- 最小生成树--matlab实现
- Docker基础技术:Linux Namespace(上)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2)
- JAVA高并发学习笔记(二) 多线程基础
- 1073. Scientific Notation (20)
- java基础 用arraylist做电话本
- 初探git 本地和远程仓库的操作
- 蓝懿教育 正反方向传值及打地鼠游戏的实现
- quick-cocos2d-x基于源码加密打包功能的更新策略(3)
- DatePicker 4.8 beat3 SCRIPT70: 没有权限 弹不出日期控件
- 高仿58同城的Gridview
- android之屏幕适配之二实践切图适配不同的平板
- Windows下Anaconda的安装和简单使用
- Trie树(压缩Trie树及Double-Array Trie)