import java.io.BufferedOutputStream;
创新互联公司是一家专业提供宜良企业网站建设,专注与成都做网站、网站建设、成都h5网站建设、小程序制作等业务。10年已为宜良众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
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("//");
String path = filepath.substring(0, n) + "//";
filepath = filepath.substring(filepath.indexOf("//") + 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] = "";
}
}
采用C/S的架构方式。
首先用swing 画几个条条框框出来。做出显示 和 添加 修改的界面。
添加的时候。吧输入的信息存入数据库
修改的时候 修改数据库里面的内容
查询的时候 显示数据库里面的内容。
不想用数据库 也可以吧文件写在磁盘上。不过这样,还不如用个excel当通讯录用来的省事。
这就是high level。detail么 自己研究吧
具体方法如下:
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);
}
}
没有多线程就别用
Hashtable 和 Vector
建议使用 HashMap 和 ArrayList
另外如果可以借助第三方包的话,应该很容易
存储使用 hsqldb csv 文件存储,hsqldb 提供以 sql 方式访问 csv 文件
其实很容易,你还是多研究下吧。
源代码是不会有了,毕竟都很忙。无利不早起嘛。
有 money 可以帮你做
你就怎么那么小气呢!给个几十分也不亏你!
算了,刚写的就便宜你了!
import java.util.Scanner;
public class Shopping {
System.out.println("\t\t\t\t1.添加联系人信息\n");
System.out.print("\t\t\t\t2删除联系人信息\n");
System.out.println("\t\t\t\t3查看联系人信息\n");
System.out.println("\t\t\t\t4.退出");
System.out.println("请选择,输入数字或按“n”返回上一级菜单:");
System.out.println("请选择,输入数字或按“n”返回上一级菜单:");
num = scanner.nextLine();
if (num.equals("n"))
isR = true;
else if(num.equals("1")){
System.out.println("添加联系人信息");
System.out.println("输入联系人的姓名: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.println("输入联系人的电话: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.print("是否继续添加(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("查看联系人");
System.out.print("请输入联系人姓名:");
String snum = scanner.nextLine();
int numberNum = Integer.parseInt(snum);
}
}
就给你发这么多吧!还有一点点自己琢磨吧!我也没时间整理了!!
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;//联系电话
}