import java.io.BufferedOutputStream;
創(chuàng)新互聯(lián)公司是一家專業(yè)提供宜良企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為宜良眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
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、繼續(xù)");
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] = "";
}
}
采用C/S的架構(gòu)方式。
首先用swing 畫幾個條條框框出來。做出顯示 和 添加 修改的界面。
添加的時候。吧輸入的信息存入數(shù)據(jù)庫
修改的時候 修改數(shù)據(jù)庫里面的內(nèi)容
查詢的時候 顯示數(shù)據(jù)庫里面的內(nèi)容。
不想用數(shù)據(jù)庫 也可以吧文件寫在磁盤上。不過這樣,還不如用個excel當(dāng)通訊錄用來的省事。
這就是high level。detail么 自己研究吧
具體方法如下:
1、定義封裝一條記錄的實(shí)體類
2、根據(jù)實(shí)際系統(tǒng)容量,定義一個數(shù)組
3、完成系統(tǒng)中顯示全部記錄的邏輯
4、完成系統(tǒng)中添加一條記錄的邏輯
5、完成系統(tǒng)中刪除一條記錄的邏輯
6、完成系統(tǒng)中修改一條記錄的邏輯
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("系統(tǒng)當(dāng)前無記錄!");
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("請輸入手機(jī)號:");
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("請輸入要刪除的手機(jī)號:");
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("請輸入要修改的手機(jī)號:");
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);
}
}
沒有多線程就別用
Hashtable 和 Vector
建議使用 HashMap 和 ArrayList
另外如果可以借助第三方包的話,應(yīng)該很容易
存儲使用 hsqldb csv 文件存儲,hsqldb 提供以 sql 方式訪問 csv 文件
其實(shí)很容易,你還是多研究下吧。
源代碼是不會有了,畢竟都很忙。無利不早起嘛。
有 money 可以幫你做
你就怎么那么小氣呢!給個幾十分也不虧你!
算了,剛寫的就便宜你了!
import java.util.Scanner;
public class Shopping {
System.out.println("\t\t\t\t1.添加聯(lián)系人信息\n");
System.out.print("\t\t\t\t2刪除聯(lián)系人信息\n");
System.out.println("\t\t\t\t3查看聯(lián)系人信息\n");
System.out.println("\t\t\t\t4.退出");
System.out.println("請選擇,輸入數(shù)字或按“n”返回上一級菜單:");
System.out.println("請選擇,輸入數(shù)字或按“n”返回上一級菜單:");
num = scanner.nextLine();
if (num.equals("n"))
isR = true;
else if(num.equals("1")){
System.out.println("添加聯(lián)系人信息");
System.out.println("輸入聯(lián)系人的姓名: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.println("輸入聯(lián)系人的電話: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.print("是否繼續(xù)添加(y/e):");
String numJixu = scanner.nextLine();
if (numJixu.equals("y"))
isEnd2 = true;
else {
isEnd2 = false;
isEnd = true;
}
}
else if(num.equals("3")){
System.out.println("查看聯(lián)系人");
System.out.print("請輸入聯(lián)系人姓名:");
String snum = scanner.nextLine();
int numberNum = Integer.parseInt(snum);
}
}
就給你發(fā)這么多吧!還有一點(diǎn)點(diǎn)自己琢磨吧!我也沒時間整理了??!
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、插入聯(lián)系人");
System.out.println("2、刪除練習(xí)人");
System.out.println("3、修改聯(lián)系人");
System.out.println("4、查詢練習(xí)人");
System.out.println("5、查詢?nèi)柯?lián)系人");
System.out.println("0、退出系統(tǒng)");
System.out.println("請選擇:");
input?=?scanner.nextInt();
switch(input){
case?1:
Entity?e?=?new?Entity();
e.id?=?enlist.size();
System.out.println("請輸入聯(lián)系人姓名:");
e.name?=?scanner.next();
System.out.println("請輸入聯(lián)系方式:");
e.number?=?scanner.nextInt();
addre.add(e);
System.out.println("插入成功!");
break;
case?2:
System.out.println("請輸入要刪除聯(lián)系人編號:");
int?num?=?scanner.nextInt();
if(addre.delete(num))
System.out.println("刪除成功!");
else
System.out.println("刪除失敗,請確認(rèn)信息是否正確!");
break;
case?3:
System.out.println("請輸入要修改人編號:");
int?unum?=?scanner.nextInt();
addre.update(unum);
System.out.println("修改完成!");
break;
case?4:
System.out.println("請輸入要查詢?nèi)诵彰?);
String?name?=?scanner.next();
Entity?ent?=?addre.select(name);
if(ent!=null){
System.out.println(name+"的聯(lián)系方式為:"+ent.number);
}else{
System.out.println("查無此人!");
}
break;
case?5:
for(Entity?entit:enlist){
System.out.println(entit.name+"的聯(lián)系方式為:"+entit.number);
}
break;
}
}while(input!=0);
System.out.println("謝謝使用!");
}
/*
?*?添加聯(lián)系人
?*/
public?boolean?add(Entity?e){
enlist.add(e);
return?true;
}
/*
?*?刪除聯(lián)系人
?*/
public?boolean?delete(int?num){
if(numenlist.size())
return?false;
else
enlist.remove(num);
return?true;
}
/*
?*?修改聯(lián)系人
?*/
public?void?update(int?num){
if(numenlist.size())
System.out.println("查無此人!");
else{
Entity?e?=?new?Entity();
e.id?=?num;
System.out.println("請輸入聯(lián)系人姓名:");
e.name?=?scanner.next();
System.out.println("請輸入聯(lián)系方式:");
e.number?=?scanner.nextInt();
enlist.set(num,?e);
}
}
/*
?*?查詢指定聯(lián)系人電話
?*/
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;//聯(lián)系電話
}