所需技术:面向对象之封装,构造方法,数组,Scanner,程序的流程控制,list集合
- 创建实体类Phone
- 启动程序进入主菜单,控制台上打印【1】用户登录 【2】办理手机号 【3】退出
- 用户登录模块:提示输入手机号,输入密码之后进入主页面 【1】查询套餐 【2】账户余额 【3】修改密码 【4】返回主菜单
- 办理手机号模块:提示可以选择的备选手机号,用完后删除。注册前查询下注册的号码是否已存在集合里,可以注册多个。
package com.company.day06.phone2;
//实体类
public class Phone {
private String name;//机主姓名
private String phoneNum;//手机号
private String password;//手机密码
private String phoneTC;//手机套餐
private int phoneYE;//账户余额
public Phone(){}
public Phone(String name, String phoneNum, String password, String phoneTC, int phoneYE) {
this.name = name;
this.phoneNum = phoneNum;
this.password = password;
this.phoneTC = phoneTC;
this.phoneYE = phoneYE;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhoneTC() {
return phoneTC;
}
public void setPhoneTC(String phoneTC) {
this.phoneTC = phoneTC;
}
public int getPhoneYE() {
return phoneYE;
}
public void setPhoneYE(int phoneYE) {
this.phoneYE = phoneYE;
}
@Override
public String toString() {
return "Phone{" +
"name='" + name + ''' +
", phoneNum=" + phoneNum +
", password=" + password +
", phoneTC='" + phoneTC + ''' +
", phoneYE=" + phoneYE +
'}';
}
}
package com.company.day06.phone2;
import java.util.ArrayList;
import java.util.List;
public class Arr {
static List list = new ArrayList<>();//供客户选的手机号
static List list2 = new ArrayList<>();//套餐
static {
list.add("17588886666");
list.add("17611112222");
list.add("17855555555");
list.add("18688888888");
list.add("15055555555");
list.add("18055555555");
list.add("17699999999");
list.add("17588888888");
list.add("19099995555");
list.add("18033330000");
list2.add("38");
list2.add("88");
list2.add("108");
}
}
package com.company.day06.phone2;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Work {
Scanner scanner = new Scanner(System.in);
Arr arr = new Arr();
List list3 = new ArrayList<>();
//主菜单
public void menu(){
System.out.println("~~~欢迎进入移动通讯系统~~~");
System.out.println("请选择一项服务:【1】用户登录 【2】办理手机号 【3】退出系统");
int i = scanner.nextInt();
if(i==1){
//用户登录
login();
}else if(i==2) {
//注册手机号
show();
}else if(i==3){
System.out.println("系统已退出,期待下次为您服务!");
return;
}else {
System.out.println("输入有误,请重新输入!");
menu();
}
}
//用户登录
public void login(){
System.out.println("请输入手机号:");
String pname = scanner.next();
System.out.println("请输入密码:");
String pswd = scanner.next();
Boolean bname = false;
Boolean bpwd = false;
Phone phone = new Phone();//-----------------------
for(Phone ph : list3){
//判断手机号是否存在
if(pname.equals(ph.getPhoneNum())){
bname = true;
//判断密码是否一致
if(pswd.equals(ph.getPassword())){
bpwd = true;
phone = ph;
}
}
}
if(bname){
if(bpwd){
System.out.println("登录成功!");
page(phone);
}else{
System.out.println("密码有误,请重新输入密码!");
login();
}
}else{
System.out.println("手机号不存在,请重新输入手机号!");
login();
}
}
public String getstr(String sc){
Boolean b = false;
String s = "";
for(String str : arr.list){
if(str.equals(sc)){
s = str;
b=true;
arr.list.remove(str);
break;
}
}
if(!b){
System.out.println("您输入的手机号有误,重新输入");
show();
}
return s;
}
public String gettc(String ss){
Boolean b = false;
String t = "";
for(String str : arr.list2){
if(str.equals(ss)){
t = str;
b=true;
break;
}
}
if(!b){
System.out.println("您输入的套餐有误,重新输入");
String next = scanner.next();
gettc(next);
}
return t;
}
//注册手机号
public void show(){
Phone phone = new Phone();
System.out.println("欢迎来到办理手机号模块!");
System.out.println(arr.list);//可以选的手机号在list里
System.out.println("请选择您想要的手机号:");
String sc = scanner.next();
phone.setPhoneNum(getstr(sc));
System.out.println("请设置密码:");
phone.setPassword(scanner.next());
System.out.println("请设置您的用户名:");
phone.setName(scanner.next());
System.out.println(arr.list2);
System.out.println("请选择您想要的套餐:");
String ss = scanner.next();
phone.setPhoneTC(gettc(ss));
System.out.println("请您选择充值金额,不得低于10元:");
phone.setPhoneYE(scanner.nextInt());
System.out.println("恭喜您,注册成功!");
System.out.println(phone);
list3.add(phone);
System.out.println("_____________________");
System.out.println("请登录!");
login();
}
//主页面
public void page(Phone phone){
System.out.println("请选择一项服务;【1】查询套餐 【2】账户余额 【3】修改密码 【4】退出主页面");
int m = scanner.nextInt();
if(m==1){
System.out.print("您的套餐是:");
System.out.println(phone.getPhoneTC());
page(phone );
}else if(m==2){
System.out.print("您的余额是:");
System.out.println(phone.getPhoneYE());
page(phone );
}else if(m==3){
while(true){
System.out.println("请输入新密码:");
String p = scanner.next();
System.out.println("请再次输入您刚才的密码:");
String pa = scanner.next();
//判断两次输入是否一致
if(p.equals(pa)){
System.out.println("修改密码成功!");
phone.setPassword(p);
page(phone);
break;
}else{
System.out.println("两次密码不一致");
}
}
}else if(m==4){
//退出主页面,返回主菜单
menu();
}else{
System.out.println("请输入正确的选项!");
page(phone);
}
}
public static void main(String[] args) {
Work work = new Work();
work.menu();
}
}