具體方法如下:
網站建設公司,為您提供網站建設,網站制作,網頁設計及定制網站建設服務,專注于企業網站設計,高端網頁制作,對玻璃鋼坐凳等多個行業擁有豐富的網站建設經驗的網站建設公司。專業網站設計,網站優化推廣哪家好,專業營銷推廣優化,H5建站,響應式網站。
1、定義封裝一條記錄的實體類
2、根據實際系統容量,定義一個數組
3、完成系統中顯示全部記錄的邏輯
4、完成系統中添加一條記錄的邏輯
5、完成系統中刪除一條記錄的邏輯
6、完成系統中修改一條記錄的邏輯
7、全部代碼:
import java.util.Scanner;
class Contact {
String cellPhone;
String name;
}
public class Main {
private static void menu () {
System.out.println("************** 菜單 ******"
+ "************");
System.out.println(" 1.顯示全部通訊錄");
System.out.println(" 2.增加一條記錄");
System.out.println(" 3.刪除一條記錄");
System.out.println(" 4.修改一條記錄");
System.out.println(" 0.退出");
}
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Contact[] contacts = new Contact[200];
int size = 0;
String cmd = "";
do {
menu();
System.out.print("請輸入你得選擇:(0-4)");
cmd = scn.nextLine();
if (cmd.equals("1")) {
if (size == 0)
System.out.println("系統當前無記錄!");
else
for (int i = 0; i size; i++) {
System.out.println(contacts[i].name + ":"
+ contacts[i].cellPhone);
}
} else if (cmd.equals("2")) {
System.out.print("請輸入手機號:");
String cellphone = scn.nextLine();
System.out.print("請輸入姓名:");
String name = scn.nextLine();
Contact contact = new Contact();
contact.cellPhone = cellphone;
contact.name = name;
if (size contacts.length) {
contacts[size++] = contact;
System.out.println("添加成功!");
} else {
System.out.println("你最多只能添加" +
contacts.length + "條記錄");
}
} else if (cmd.equals("3")) {
System.out.print("請輸入要刪除的手機號:");
String cellphone = scn.nextLine();
int index = -1;
for (int i = 0; i size i contacts.length;
i++) {
if (contacts[i].cellPhone.equals(cellphone)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("該記錄不存在!");
} else {
for (int i = index; i size; i++) {
contacts[index] = contacts[index + 1];
}
contacts[size - 1] = null;
size--;
System.out.println("刪除成功!");
}
} else if (cmd.equals("4")) {
System.out.print("請輸入要修改的手機號:");
String cellphone = scn.nextLine();
int index = -1;
for (int i = 0; i size i contacts.length;
i++) {
if (contacts[i].cellPhone.equals(cellphone)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("該記錄不存在!");
} else {
System.out.print("請輸入姓名:");
String name = scn.nextLine();
contacts[index].name = name;
}
}
} while (!cmd.equals("0"));
System.out.println("退出成功!");
scn.close();
System.exit(0);
}
}
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?AddressList?{
static?Scanner?scanner?=?new?Scanner(System.in);
static?ListEntity?enlist?=?new?ArrayListEntity();
public?static?void?main(String[]?args)?{
int?input;
AddressList?addre?=?new?AddressList();
System.out.println("===============歡迎使用**通訊錄===============");
do{
System.out.println("1、插入聯系人");
System.out.println("2、刪除練習人");
System.out.println("3、修改聯系人");
System.out.println("4、查詢練習人");
System.out.println("5、查詢全部聯系人");
System.out.println("0、退出系統");
System.out.println("請選擇:");
input?=?scanner.nextInt();
switch(input){
case?1:
Entity?e?=?new?Entity();
e.id?=?enlist.size();
System.out.println("請輸入聯系人姓名:");
e.name?=?scanner.next();
System.out.println("請輸入聯系方式:");
e.number?=?scanner.nextInt();
addre.add(e);
System.out.println("插入成功!");
break;
case?2:
System.out.println("請輸入要刪除聯系人編號:");
int?num?=?scanner.nextInt();
if(addre.delete(num))
System.out.println("刪除成功!");
else
System.out.println("刪除失敗,請確認信息是否正確!");
break;
case?3:
System.out.println("請輸入要修改人編號:");
int?unum?=?scanner.nextInt();
addre.update(unum);
System.out.println("修改完成!");
break;
case?4:
System.out.println("請輸入要查詢人姓名:");
String?name?=?scanner.next();
Entity?ent?=?addre.select(name);
if(ent!=null){
System.out.println(name+"的聯系方式為:"+ent.number);
}else{
System.out.println("查無此人!");
}
break;
case?5:
for(Entity?entit:enlist){
System.out.println(entit.name+"的聯系方式為:"+entit.number);
}
break;
}
}while(input!=0);
System.out.println("謝謝使用!");
}
/*
?*?添加聯系人
?*/
public?boolean?add(Entity?e){
enlist.add(e);
return?true;
}
/*
?*?刪除聯系人
?*/
public?boolean?delete(int?num){
if(numenlist.size())
return?false;
else
enlist.remove(num);
return?true;
}
/*
?*?修改聯系人
?*/
public?void?update(int?num){
if(numenlist.size())
System.out.println("查無此人!");
else{
Entity?e?=?new?Entity();
e.id?=?num;
System.out.println("請輸入聯系人姓名:");
e.name?=?scanner.next();
System.out.println("請輸入聯系方式:");
e.number?=?scanner.nextInt();
enlist.set(num,?e);
}
}
/*
?*?查詢指定聯系人電話
?*/
public?Entity?select(String?name){
Entity?en?=?null;
for(Entity?e?:?enlist){
if(e.name.equals(name))
en?=?e;
}
return?en;
}
}
class?Entity{
public?int?id;//編號
public?String?name;//姓名
public?int?number;//聯系電話
}
思路如下:
確定電子通訊錄的文字格式,比如純文本文件,每條通訊記錄一行,每項內容之間使用tab鍵間隔
使用最基礎的IO讀寫,操作此文件。
載入時從文件一行行讀入,使用split拆分各項內容,存入一個對應的通訊錄對象中,所有的通訊錄對象保存在一個List中;
保存時,以覆蓋的方式寫入文件,以相同的格式寫入即可。
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class AddList {
private String filePath = "";
private String bakPath = "";
private String content = "";
Scanner sc = new Scanner(System.in);
public String readFile(){
content = "";
if (isNull(filePath)) {
System.out.println("文件存儲路徑:");
filePath = sc.nextLine();
}
File file = new File(filePath);
FileReader fr = null;
try {
if (file.exists()) {
fr = new FileReader(file);
char[] chars = new char[1024];
int n = 0;
while((n = fr.read(chars)) != -1){
String string = new String(chars, 0, n);
content = content + string;
}
} else {
System.out.println("文件不存在");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return content;
}
public void writeFile(String path){
File file = new File(path);
FileOutputStream fos = null;
mkDirs(path);
try {
fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
PrintWriter pw = new PrintWriter(bos, true);
pw.print(content);
pw.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void writeFile(){
if (isNull(filePath)) {
System.out.println("文件存儲路徑:");
filePath = sc.nextLine();
}
File file = new File(filePath);
FileOutputStream fos = null;
mkDirs(filePath);
try {
fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
PrintWriter pw = new PrintWriter(bos, true);
pw.print(content);
pw.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void mkDirs(String filepath){
if (filepath.indexOf("\\") != -1) {
filepath = filepath.replaceAll("\\", "/");
}
int n = filepath.indexOf("http://");
String path = filepath.substring(0, n) + "http://";
filepath = filepath.substring(filepath.indexOf("http://") + 1, filepath.length());
String[] files = filepath.split("/");
for (int i = 0; i files.length - 1; i++) {
path = path + files[i];
File file = new File(path);
if (!file.exists()) {
file.mkdir();
}
}
}
public void addImfor(){
System.out.println("--------增加記錄---------");
String name = "";
String tel = "";
String email = "";
content = readFile();
while(true){
System.out.println("姓名:");
name = sc.next();
System.out.println("電話:");
tel = sc.next();
System.out.println("Email:");
email = sc.next();
content = content + name + "" + tel + "" + email +"==";
System.out.println("0、Exit 1、繼續");
int i = sc.nextInt();
if (i == 0) {
break;
}
}
writeFile();
}
public void deleteImfor(){
System.out.println("---------刪除記錄---------");
String name = "";
String[] imfors = null;
content = readFile();
while(true){
System.out.println("你要刪除的姓名是:");
name = sc.next();
if (content.indexOf(name) != -1) {
imfors = content.split("==");
for (int i = 0; i imfors.length; i++) {
if (imfors[i].indexOf(name) != -1) {
imfors[i] = "";
}
}
新聞標題:基于Java的通訊錄代碼 Java通訊錄源代碼
文章位置:http://vcdvsql.cn/article30/hehgso.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、手機網站建設、微信小程序、全網營銷推廣、網站設計、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯