客户信息管理系统
一、CMUtility工具类
讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。
代码如下:
package com.p2.util;
import java.util.*;
/*
* 工具类
* 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功
* 能实现细节。
*
*/
public class CMUtility {
private static Scanner scanner = new Scanner(System.in);
/*
* 用于界面菜单的选择,该方法读取键盘,如果用户键入"1"-"5"中的任意字符,则方法返回。
* 返回值为用户选择的数字。
*/
public static char readMenuSelection(){
char c;
for (; ; ){
String str = readaKeyBoard(1, false);
c = str.charAt(0);
if (c != '1' && c!= '2' && c!= '3' && c!= '4'
&& c!= '5'){
System.out.println("选择错误,请重新输入:");
}else break;
}
return c;
}
/*
* 从键盘读取一个字符,并将其作为方法的返回值。
*/
public static char readChar(){
String str = readaKeyBoard(1, false);
return str.charAt(0);
}
/*
* 从键盘读取一个字符,并将其作为方法的返回值。
* 如果用户不输入字符而直接回车,方法将以defaultValue 作为返回值。
*/
public static char readChar(char defaultValue){
String str = readaKeyBoard(1, true);
return (str.length() == 0) ? defaultValue :str.charAt(0);
}
/*
* 从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。
*/
public static int readInt(){
int n;
for (; ; ){
String str = readaKeyBoard(2, false);
try{
n = Integer.parseInt(str);
break;
}catch(NumberFormatException e){
System.out.println("数字输入错误,请重新输入:");
}
}
return n;
}
/*
* 从键盘读取一个长度不超过2位的整数,并将其为方法的返回值。
* 如果用户不输入字符而直接回车,方法将以defaultValue 作为返回值。
*/
public static int readInt(int defaultValue){
int n;
for(; ; ){
String str = readaKeyBoard(2, true);
if (str.equals("")){
return defaultValue;
}
try{
n = Integer.parseInt(str);
break;
}catch(NumberFormatException e){
System.out.println("数字输入错误,请重新输入:");
}
}
return n;
}
/*
* 从键盘 读取一个长读不超过limit的字符串,并将其作为方法的返回值。
*/
public static String readString (int limit){
return readaKeyBoard(limit,false);
}
public static String readString (int limit, String defaultValue){
return readaKeyBoard(limit,false);
}
/*
* 从键盘读取一个疮毒不超过limit的字符串,将其作为方法的返回值。
* 如果用户不输入字符而直接回车,方法以defaultValue作为返回值。
*/
public static char readComfirmSelection(){
char c;
for (; ; ){
String str = readaKeyBoard(1, false).toUpperCase();
c = str.charAt(0);
if (c == 'Y' || c == 'N'){
break;
}else{
System.out.println("选择错误,请重新输入:")