1.工具类(自己写了一下,主要功能都有)
package ProjectTwo;
import javax.print.DocFlavor;
import java.util.Scanner;
public class CMUtility {
private static Scanner s1 = new Scanner(System.in);
/**
* @Description: 获取键盘输入值,limit限制长度,fanhui为真,可输出”“,返回为假,再次输入。
* @return: java.lang.String
* @Author: mmmao
* @Date: 2021/9/17
*/
private static String readKeyBoard(int limit,boolean fanhui){
String s="";
while(s1.hasNextLine()){
s=s1.nextLine();
if(s.length()>limit){
System.out.println("输入范围错误");
continue;
}
if(s.length()==0) {
if (fanhui) {
return "";
}else{
System.out.println("别不输入嘛,请输入");
continue;}
}
break;
}
return s;
}
public static String getUpCharactor(){
String strin =readKeyBoard(10,false);
char c4 = strin.charAt(0);
String str4 = String.valueOf(c4).toUpperCase();
return str4;
}
/**
* @Description: 输入一个1-5int类型,判断是不是1-5,是的话导出,不是的话重新输入
* @Param: []
* @return: int
* @Author: mmmao
* @Date: 2021/9/17
*/
public static int ReadMenuSelection() {
int i ;
for (; ; ) {
String str = readKeyBoard(1, false);
try {
i = Integer.parseInt(str);
} catch (Exception e) {
System.out.println("请输入数字谢谢");
continue;
}
if (i != 1 && i != 2 && i != 3 && i != 4 && i != 5) {
System.out.println("输入错误,请输入1-5之间的值");
continue;
} else {
break;
}
}
return i ;
}
/**
* @Description: 返回一个char类型的值 长度1(性别)
* @Param: []
* @return: char
* @Author: mmmao
* @Date: 2021/9/17
*/
public static char getOneChar() {
char ch ;
String str = readKeyBoard(1,false);
ch= str.charAt(0);
return ch;
}
public static char getOneChar(char defaultvalue) {
char ch ;
String str = readKeyBoard(1,true);
if(str.length()==0){
return defaultvalue;
}
ch= str.charAt(0);
return ch;
}
/**
* @Description: 得到一串号码
* @Param: []
* @return: String
* @Author: mmmao
* @Date: 2021/9/17
*/
public static String getNumber(){
int i = 0;
String s;
for(; ; ){
s = readKeyBoard(30,false);
if(s.length()>15){
System.out.println("输入太长啦");
continue;
}
break;
}
return s;
}
public static String getNumber(String defaultvalue){
int i = 0;
String s;
for(; ; ){
s = readKeyBoard(30,true);
if(s.length()>15){
System.out.println("输入太长啦");
continue;
}
if(s.length()==0){
s=defaultvalue;
}
break;
}
return s;
}
/**
* @Description: 得到名字
* @Param: []
* @return: char
* @Author: mmmao
* @Date: 2021/9/17
*/
public static String getString() {
String str ;
str = readKeyBoard(10,false);
return str;
}
public static String getString(String defaultvalue) {
String str ;
str = readKeyBoard(10,true);
if(str.length() == 0){
str = defaultvalue;
}
return str;
}
}
2.用户类 Member
package ProjectTwo;
public class Member {
public Member ( String name , int age , String phone , char sex , String email ) {
this.name = name;
this.age = age;
this.phone = phone;
this.sex = sex;
this.email = email;
}
public Member ( ) {
}
public int getAge ( ) {
return age;
}
public void setAge ( int age ) {
this.age = age;
}
public String getName ( ) {
return name;
}
public void setName ( String name ) {
this.name = name;
}
public char getSex ( ) {
return sex;
}
public void setSex ( char sex ) {
this.sex = sex;
}
public String getPhone ( ) {
return phone;
}
public void setPhone ( String phone ) {
this.phone = phone;
}
public String getEmail ( ) {
return email;
}
public void setEmail ( String email ) {
this.email = email;
}
private int age;
private String name;
private char sex;
private String phone;
private String email;
}
3.数组类 MemberList
package ProjectTwo;
public class MemberList {
private static int total = 0;
private Member[] member;
public MemberList(int i){
member = new Member[i];
}
public Boolean plusCustomer(Member m1){
if(total>member.length){
return false;
}else{
member[total++]=m1;
return true;}
}
public Boolean deleteCustomer(int t){
if(t>total||t<0){
return false;
}
int n = total - t ;
for(int i = 0; i<n; i++ ){
member[t-1]=member[t];
t++;
}
member[--total]=null;
return true;
}
public Boolean reviseCustomer(int i,Member m2){
if(i<=total && i>0){
member[i-1]=m2;
return true;
}else{
return false;}
}
public Member[] showCustomer(){
Member[] m2 =new Member[total];
for(int i=0; i<=total-1; i++ ){
m2[i]= member[i];
}
return m2;
}
public static int getTotal(){
return total;
}
public Member getMember(int i){
return member[i-1];
}
}
4.界面类 CustomerView
package ProjectTwo;
public class CustomerView {
MemberList m2 ;
public CustomerView(){
m2= new MemberList ( 3 );
}
public void Customer ( ) {
Member m18 = new Member ( "董翘楚" , 22 , "1327168826" , '男' , "819220669@qq.com" );
m2.plusCustomer ( m18 );
Boolean tru = true;
while ( tru ) {
System.out.println ( "---------客户信息管理软件---------" );
System.out.println ( "1.添加客户" );
System.out.println ( "2.修改客户" );
System.out.println ( "3.删除客户" );
System.out.println ( "4.客户列表" );
System.out.println ( "5.退出" );
System.out.println ( "请选择1-5" );
label1:
switch ( CMUtility.ReadMenuSelection ( ) ) {
case 1:
plus ( );
break;
case 2:
revise ( );
break;
case 3:
delete ( );
break;
case 4:
show ( );
break;
case 5:
System.out.println ( "确定退出吗? Y/N" );
while ( true ) {
String s1 = CMUtility.getUpCharactor ( );
if ( s1.equals ( "Y" ) ) {
tru = false;
break;
} else if ( s1.equals ( "N" ) ) {
break label1;
} else {
System.out.println ( "请输入Y/N" );
}
}
}
}
}
private void plus ( ) {
System.out.println ( "-------------添加客户--------------" );
System.out.println ( "输入-1取消添加" );
System.out.print ( "姓名:" );
String str = CMUtility.getNumber ( );
String name = "";
try {
if ( Integer.parseInt ( str ) == - 1 ) {
return;
}
} catch ( NumberFormatException e ) {
name = str;
}
System.out.print ( "性别:" );
char sex = CMUtility.getOneChar ( );
System.out.print ( "年龄:" );
String a = CMUtility.getNumber ( );
int age = Integer.parseInt ( a );
System.out.print ( "电话:" );
String phone = CMUtility.getNumber ( );
System.out.print ( "邮箱:" );
String email = CMUtility.getNumber ( );
Member m1 = new Member ( name , age , phone , sex , email );
if ( m2.plusCustomer ( m1 ) ) {
System.out.println ( "添加成功" );
} else {
System.out.println ( "添加失败,超长了" );
}
}
private void revise ( ) {
System.out.println ( "-------------修改客户--------------" );
int i3;
while ( true ) {
System.out.println ( "请输入想要修改的人的序号: -1返回" );
String str = CMUtility.getNumber ( );
i3 = Integer.parseInt ( str );
if ( i3 == - 1 ) {
return;
} else if ( i3 <= 0 || i3 > MemberList.getTotal ( ) ) {
System.out.println ( "请输入正确的修改人的序号" );
continue;
}
break;
}
Member m5 = m2.getMember ( i3 );
System.out.print ( "姓名:" + m5.getName ( ) );
String name1 = CMUtility.getString ( m5.getName ( ) );
System.out.print ( "性别:" + m5.getSex ( ) );
char sex1 = CMUtility.getOneChar ( m5.getSex ( ) );
System.out.print ( "年龄:" + m5.getAge ( ) );
String a1 = CMUtility.getNumber ( String.valueOf ( m5.getAge ( ) ) );
int age1 = Integer.parseInt ( a1 );
System.out.print ( "电话:" + m5.getPhone ( ) );
String phone1 = CMUtility.getNumber ( m5.getPhone ( ) );
System.out.print ( "邮箱:" + m5.getEmail ( ) );
String email1 = CMUtility.getNumber ( m5.getEmail ( ) );
Member m3 = new Member ( name1 , age1 , phone1 , sex1 , email1 );
if ( m2.reviseCustomer ( i3 , m3 ) ) {
System.out.println ( "修改成功" );
} else {
System.out.println ( "修改失败,请输入正确的编号" );
}
}
private void delete ( ) {
System.out.println ( "----------------删除客户-------------------" );
while ( true ) {
System.out.println ( "请输入想要删除的客户的编号: -1取消删除" );
String a = CMUtility.getNumber ( );
int i = Integer.parseInt ( a );
if ( i == - 1 ) {
return;
} else if ( m2.deleteCustomer ( i ) ) {
System.out.println ( "删除成功" );
break;
} else {
System.out.println ( "删除失败,请输入正确的编号" );
continue;
}
}
}
private void show ( ) {
System.out.println ( "----------------客户信息-------------------" );
Member[] m3 = m2.showCustomer ( );
System.out.println ( "序号\t姓名\t\t\t性别\t\t年龄\t\t电话\t\t\t\t\t邮箱" );
for ( int i = 0 ; i <= ( MemberList.getTotal ( ) - 1 ) ; i++ )
System.out.println ( "序号\t"+(i+1)+"姓名:" + m3[ i ].getName ( ) + "\t性别:" + m3[ i ].getSex ( ) +
"\t年龄:" + m3[ i ].getAge ( ) + "\t电话:"
+ m3[ i ].getPhone ( ) + "\t\t邮箱:" + m3[ i ].getEmail ( ) );
while ( true ) {
System.out.println ( "请输入-1退出" );
String s1 = CMUtility.getNumber ( "0" );
if ( s1.equals ( "-1" ) ) {
break;
}
}
}
}