O menu principal controla o submenu em cada nível e realiza a implementação de adicionar registros, encontrar registros, excluir registros, modificar registros, classificar registros e sair das funções do sistema. Um total de seis módulos funcionais.
O diagrama acima mostra as funções de cada módulo e também usa expressões regulares para determinar se a entrada está em conformidade com as regras. Este sistema reflete o padrão de design do MVC, e a divisão do trabalho é muito clara.
Inclui principalmente as seguintes categorias:
Classe de aplicativo: a principal classe de função do programa, a entrada do programa inicia
Classe de menu: são todos os efeitos exibidos em páginas simples e não há implementação de função.
Telnoteregex Classe: Expressão regular, que determina se a entrada é qualificada, está tudo nesse método.
Classe de operação: aula de lógica de negócios, todas as funções estão basicamente concentradas nesta classe.
Classe de pessoa: encapsular dados.
Código de implementação específico:
O código da classe App:
pacote com.bjsxt.iphone; public class App {public static void main (string [] args) {new App (). start (); } public void start () {menu m = novo menu (); Operar o = new Operate (); Telnoteregex reg = new telnoteregex (); while (true) {M.MainMenu (); int key = reg.menuregex (1, 6); switch (key) {case 1: O.AddLogic (); quebrar; Caso 2: O.searchLogic (); quebrar; Caso 3: O.ModifyLogicLogic (); quebrar; Caso 4: O.DeleteLogic (); quebrar; Caso 5: O.OrderLogic (); quebrar; Caso 6: System.Exit (0); quebrar; }}}}O código de implementação específico da classe Pessoa:
pacote com.bjsxt.iphone; public class Pessoa {private int id; // atributo de identificação do usuário nome privado string name; // atributo de usuário string private string idade; // atributo da idade do usuário sexo privado string sexo; // atributo de gênero do usuário string privada string telnum; // número de telefone do usuário, endereço de string; this.id = id; this.name = nome; this.age = idade; this.sex = sexo; this.telnum = Telnum; this.address = endereço; } public int getId () {return id; } public void setId (int id) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public String getage () {Age de retorno; } public void setage (idade da string) {this.age = Age; } public string getSex () {return Sex; } public void SetSex (sexo de string) {this.sex = sexo; } public string gettelnum () {return telnum; } public void Settelnum (String Telnum) {this.Telnum = Telnum; } public string getAddress () {retornar endereço; } public void setAddress (endereço da string) {this.address = endereço; }}Código específico da classe telnoteregex:
pacote com.bjsxt.iphone; importar java.util.scanner; public classe Telnoteregex {// Verifique se há itens de menu @suppresswarnings ("Resource") public int menureGex (int min, int max) {string regex = "[0-9] {1}"; Scanner sc = new scanner (system.in); while (true) {string input = sc.NextLine (); // Verifique com base na legalidade if (input.matches (regex)) {int key = Integer.parseint (entrada); if (key> = min && key <= max) {return Key; } else {System.out.println ("O item de menu inserido não atende aos requisitos!"); }} else {System.out.println ("O conteúdo de entrada está incorreto!"); }}}} // Verificação do nome de entrada do usuário @suppresswarnings ("Resource") public string nameregex (nome da string) {string Pattern = "[// u4e00-// u9fa5]+"; String str = nome; Scanner sc = new scanner (system.in); while (true) {if (str.matches (padrão)) {return str; } else {System.out.println ("Digite caracteres ilegais, por favor, entre os caracteres chineses"); str = sc.nextLine (); continuar; }}} // Verificação da entrada do usuário Age @suppresswarnings ("Resource") public string ageregex (string Age) {String Pattern = "^([0-9] | [0-9] {2} | 100) $"; String str = idade; Scanner sc = new scanner (system.in); while (true) {if (str.matches (padrão)) {return str; } else {System.out.println ("Digite caracteres ilegais, entre os números novamente"); str = sc.nextLine (); continuar; }}} // Verificação de gênero do usuário @suppresswarnings ("recursos") public string sexregex (sexo string) {string padrony = "[homens e feminino mmff]"; String str = sexo; Scanner sc = new scanner (system.in); while (true) {if (str.matches (padrão)) {return str; } else {System.out.println ("Digite caracteres ilegais, por favor, volte a entrar em masculino e feminino"); str = sc.nextLine (); continuar; }}} // Verificação do número de telefone de entrada do usuário @suppresswarnings ("Resource") public String TelnumRegex (String Telnum) {String Pattern = "[0-9] {11}"; String str = Telnum; Scanner sc = new scanner (system.in); while (true) {if (str.matches (padrão)) {return str; } else {System.out.println ("Entre os caracteres ilegais, entre em contato com o número de telefone celular de 11 dígitos"); str = sc.nextLine (); continuar; }}}} // Verificação do endereço de entrada do usuário @suppresswarnings ("Resource") public String endereçoRegex (endereço da string) {String Pattern = "[A-ZA-Z [0-9]] {1,15}"; String str = endereço; Scanner sc = new scanner (system.in); while (true) {if (str.matches (padrão)) {return str; } else {System.out.println ("Entre os caracteres ilegais, entre novamente 1 a 15 casos ou números em inglês"); str = sc.nextLine (); continuar; }}}}Implementação específica do código da classe de menu:
pacote com.bjsxt.iphone; public class menu {// interface principal public void mainMenu () {System.out.println ("*****************************"); System.out.println ("** 1 add registro **"); System.out.println ("** 2 encontre registro **"); System.out.println ("** 3 modificar registro **"); System.out.println ("** 4 excluir registro **"); System.out.println ("** 5 Records **"); System.out.println ("** 6 saia do sistema **"); System.out.println ("***************************"); } // Adicionar interface public void addmenu () {System.out.println ("*********************"); System.out.println ("** 1 adicione novo registro **"); System.out.println ("** 2 Ver todos os registros **"); System.out.println ("** 3 retornar ao nível anterior **"); System.out.println ("************************"); } // interface de pesquisa public void searchMenu () {System.out.println ("*********************"); System.out.println ("** 1 pesquisa por nome"); System.out.println ("** 2 pesquisar por idade"); System.out.println ("** 3 pesquisa por gênero"); System.out.println ("** 4 pesquisa por número"); System.out.println ("** 5. Clique no endereço para encontrar **"); System.out.println ("** 6. Ver registros completos **"); System.out.println ("** 7. retornar ao nível anterior **"); System.out.println ("************************"); } // modifique a interface public void modifyMenu () {System.out.println ("**************************"); System.out.println ("** 1. Ver registros completos **"); System.out.println ("** 2 modifique o registro especificado **"); System.out.println ("** 3 retornar ao nível anterior **"); System.out.println ("************************"); } // modifique o subinterface public void submodifyMenu () {System.out.println ("************************"); System.out.println ("** 1 modifique o nome **"); System.out.println ("** 2 modifica a idade **"); System.out.println ("** 3 modificar gênero **"); System.out.println ("** 4 modificar número **"); System.out.println ("** 5 Modificar endereço **"); System.out.println ("** 6 retornar ao nível anterior **"); System.out.println ("************************"); } // Excluir interface public void DeleTemenu () {System.out.println ("******************************"); System.out.println ("** 1 Ver todos os registros **"); System.out.println ("** 2 Exclua os registros especificados **"); System.out.println ("** 3 Exclua todos os registros **"); System.out.println ("** 4 retorna ao nível anterior **"); System.out.println ("***************************"); } // interface de classificação public void orderMenu () {System.out.println ("*****************************"); System.out.println ("** 1 classificar pelo nome **"); System.out.println ("** 2 classificar por idade **"); System.out.println ("** 3 classificar por gênero **"); System.out.println ("** 4 Ver todos os registros **"); System.out.println ("** 5 retornar ao nível anterior **"); System.out.println ("************************"); }}Implementação específica da classe de operação:
pacote com.bjsxt.iphone; importar java.util.ArrayList; importar java.util.Collections; importar java.util.comparator; importar java.util.iterator; importar java.util.list; importar java.util.util.scaNner; classe pública (lista privada> list> list> list = list = list = list = ARSTRAY = ARRAYLIST = ARRAYLIST = LISTAY = ARRAYLIST = LISTAY = ARRAYLISTO = LISTELATELISTO; // Usuário Adicionar informações Controle de lógica de negócios public void addLogic () {menu m = new Menu (); Telnoteregex reg = new telnoteregex (); while (true) {m.addmenu (); int key = reg.menuregex (1, 3); switch (key) {case 1: addOperation (); quebrar; Caso 2: Showall (); quebrar; Caso 3: retornar; }}} // Consulta do usuário Controle de lógica de negócios public void SearchLogic () {menu m = new Menu (); Telnoteregex reg = new telnoteregex (); while (true) {m.searchMenu (); int key = reg.menuregex (1, 7); switch (key) {case 1: searchByName (); quebrar; Caso 2: SearchByage (); quebrar; Caso 3: SearchBysex (); quebrar; Caso 4: SearchByTelnum (); quebrar; Caso 5: SearchByAdd (); quebrar; Caso 6: Showall (); quebrar; Caso 7: retornar; }}} // Modifique o controle da lógica de negócios da informação public void modifyLogicLogic () {menu m = new Menu (); Telnoteregex reg = new telnoteregex (); while (true) {m.modifyMenu (); int key = reg.menuregex (1, 3); switch (key) {case 1: showall (); quebrar; Caso 2: modifyLogicLogic1 (); quebrar; Caso 3: retornar; }}} // Modificar saltos de três camadas public void modifyLogicLogic1 () {menu m = new Menu (); Telnoteregex reg = new telnoteregex (); while (true) {m.submodifyMenu (); int key = reg.menuregex (1, 6); switch (key) {case 1: namemodify (); quebrar; Caso 2: agemodify (); quebrar; Caso 3: Sexmodify (); quebrar; Caso 4: Telnummodify (); quebrar; Caso 5: endereçoModify (); quebrar; Caso 6: retornar; }}} // Excluir Informações Controle de lógica de negócios public void DeleteLogic () {MENU M = novo MENU (); Telnoteregex reg = new telnoteregex (); while (true) {m.deleteMenu (); int key = reg.menuregex (1, 4); switch (key) {case 1: showall (); quebrar; Caso 2: delete (); quebrar; Caso 3: DeLeTeall (); quebrar; Caso 4: retornar; }}} // Classificação de informações Controle de lógica de negócios public void orderLogic () {menu m = new Menu (); Telnoteregex reg = new telnoteregex (); while (true) {M.orderMenu (); int key = reg.menuregex (1, 5); switch (key) {case 1: orderName (); quebrar; Caso 2: Orderage (); quebrar; Caso 3: OrdersEx (); quebrar; Caso 4: Showall (); quebrar; Caso 5: retornar; }}} // Adicione novas informações do usuário @suppresswarnings ("Resource") public void addOperation () {telnoteregex reg = new telnoteregex (); Scanner sc = new scanner (system.in); System.out.println ("Por favor, insira o ID de contato:"); String id = sc.NextLine (); System.out.println ("Por favor, digite o nome a ser adicionado:"); Nome da sequência = SC.NextLine (); nome = reg.nameregex (nome); System.out.println ("Por favor, digite a idade a ser adicionada:"); String Age = SC.NextLine (); idade = reg.ageregex (idade); System.out.println ("Por favor, digite o gênero que você deseja adicionar:"); String sex = sc.nextLine (); sexo = reg.sexregex (sexo); System.out.println ("Por favor, insira o número do celular que você deseja adicionar:"); String Telnum = SC.NextLine (); telnum = reg.telnumregex (telnum); System.out.println ("Por favor, insira o endereço que você deseja adicionar:"); Endereço da sequência = sc.nextLine (); endereço = reg.addressRegex (endereço); int PersonID = Integer.parseint (ID); Pessoa p = nova pessoa (PersonId, nome, idade, sexo, telnum, endereço); list.add (P); } // // // julga se o número de serial já existia e a inserção falhou com sucesso // @suppresswarnings ("Resource") // public String JudgeId (string id) {// scanner sc = new Scanner (system.in); // iteator <Person> It = list.hiterator (); // string. p = (pessoa) it.next (); // if (newid.equals (p.getId ())) {// System.out.println ("Este número de série já existe, reentre o número de série"); // newID = sc.nextLine (); // continue; //} else {// return; Informações do usuário public void Showall () {System.out.println ("Número de série/t/t"+"Nome/t/t"+"Age/T/T"+"Gênero/T/T"+"Número do Mobile/T/T"+"Endereço"); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); }} // Consulta as informações do usuário por name @suppresswarnings ("Resource") public void searchByName () {telnoteregex reg = new telnoteregex (); System.out.println ("Digite o nome que deseja consultar:"); Scanner sc = new scanner (system.in); Nome da sequência = SC.NextLine (); nome = reg.nameregex (nome); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (name.equals (p.getName ())) {System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t/t"+p.getSex ()+"/t/t/"+p.getTelnum ()+ }}} // Consulta as informações do usuário por Age @suppresswarnings ("Resource") public void searchByage () {telnoteregex reg = new telnoteregex (); System.out.println ("Digite a idade que deseja consultar:"); Scanner sc = new scanner (system.in); String Age = SC.NextLine (); idade = reg.ageregex (idade); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if(age.equals(p.getAge())){ System.out.println(p.getId()+"#"+"/t/t"+p.getName()+"/t/t"+p.getAge()+"/t/t"+p.getSex()+"/t/t"+p.getTelNum()+"/t/t"+p.getAddress()); }}} // Consulta as informações do usuário por gênero @suppresswarnings ("Resource") public void searchBysex () {telnoteregex reg = new telnoteregex (); System.out.println ("Digite o gênero que deseja consultar:"); Scanner sc = new scanner (system.in); String sex = sc.nextLine (); sexo = reg.sexregex (sexo); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (sex.equals (p.getSex ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t/t"+p.getSex ()+"/t/t/"+p.getTelnum ()+"/t/t/t" t/t/tt/t/t/t/t/thegettel) ()/t/t "t/t" t/t/t/t/t/t/t/thegettel) ()/t/t "t/t" t/t/t/t/t/t/t/t/"+p.getTelnum ()" }}} // Verifique as informações do usuário por número de telefone @suppresswarnings ("Resource") public void searchByTelnum () {telnoteregex reg = new telnoteregex (); System.out.println ("Digite o número de telefone que deseja consultar:"); Scanner sc = new scanner (system.in); String Telnum = SC.NextLine (); telnum = reg.telnumregex (telnum); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (telnum.equals (p.getTelnum ())) {System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t" t/t/t/t/t/t/t/t/t/t/p.getsex ()+"/t/t/t"+p.getLumnum () (t/t/t/t/p.getx ()+"/t/t/t"+p.getLumnum () (t/t/t/t/p.getx ()+"/t/t/t"+p.getLumnum " }}} // Verifique as informações do usuário por endereço @suppresswarnings ("Resource") public void searchByadd () {telnoteregex reg = new telnoteregex (); System.out.println ("Digite o endereço que deseja consultar:"); Scanner sc = new scanner (system.in); Endereço da sequência = sc.nextLine (); endereço = reg.addressRegex (endereço); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (endereço.equals (p.getAddress ())) {System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getAge ()+"/t/t/t"+p.getSex ()+"/t/t/"+p.PetTelnum () (T/T ""/t/t/t/t/t/t/"+ }}} // // modifique as informações de registro especificadas // public void modify () {// System.out.println ("Por favor, digite as informações que deseja modificar:"); // //} // modificar o nome @suppresswarnings ("recursos") public void namemodify () {telnoterge "; System.out.println ("Por favor, insira o número de série que você deseja modificar:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); System.out.println ("Por favor, insira o nome que deseja modificar:"); Nome da sequência = SC.NextLine (); nome = reg.nameregex (nome); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {p.setName (nome); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); } else {System.out.println ("A modificação falhou, tente novamente!"); }}} // Modificar informações da idade @suppresswarnings ("Resource") public void agemodify () {telnoteregex reg = new telnoteregex (); System.out.println ("Por favor, insira o número de série que você deseja modificar:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); System.out.println ("Por favor, insira a idade que você deseja modificar:"); String Age = SC.NextLine (); idade = reg.ageregex (idade); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {p.setage (idade); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); } else {System.out.println ("A modificação falhou, tente novamente!"); }}} // modifique informações de gênero @suppresswarnings ("Resource") public void sexmodify () {telnoteregex reg = new telnoteregex (); System.out.println ("Por favor, insira o número de série que você deseja modificar:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); System.out.println ("Por favor, insira o gênero que você deseja modificar:"); String sex = sc.nextLine (); sexo = reg.sexregex (sexo); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {p.setSex (sexo); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); } else {System.out.println ("A modificação falhou, tente novamente!"); }}} // modifique o número Information @suppresswarnings ("Resource") public void Telnummodify () {System.out.println ("Por favor, digite o número de série que deseja modificar:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); System.out.println ("Por favor, insira o número de telefone que você deseja modificar:"); String Telnum = SC.NextLine (); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {p.setTelnum (telnum); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); } else {System.out.println ("A modificação falhou, tente novamente!"); }}} // Modifique o endereço Information @suppresswarnings ("Resource") public void endereçoModify () {telnoteregex reg = new telnoteregex (); System.out.println ("Por favor, insira o número de série que você deseja modificar:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); System.out.println ("Por favor, insira o endereço que você deseja modificar:"); Endereço da sequência = sc.nextLine (); endereço = reg.addressRegex (endereço); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {p.setAddress (endereço); System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.getTelnum ()+"/t/t/t"+p.getDress ()); } else {System.out.println ("A modificação falhou, tente novamente!"); }}} // exclua as informações do usuário especificadas @suppresswarnings ("Resource") public void delete () {System.out.println ("Por favor, digite o id que deseja excluir:"); Scanner sc = new scanner (system.in); String num = sc.NextLine (); int id = integer.parseint (num); Iterator <sesso> it = list.iterator (); while (it.hasnext ()) {pessoa p = (pessoa) it.next (); if (id == p.getId ()) {list.remove (id); System.out.println ("excluir bem -sucedido"); } else {System.out.println ("Delete falhou"); }}} // excluir todas as informações do usuário public void DeLeTeall () {list.clear (); System.out.println ("Excluir com sucesso"); } // Classifique as informações por nome do usuário public void orderName () {comparador <sesson> comparador = new Comparator <sesson> () {@Override public int Compare (Pessoa O1, Pessoa O2) {return o1.getName (). Compareto (o2.getName); }}; Coleções.sort (Lista, Comparador); showall (); } // Classifique as informações da idade do usuário public void Orderage () {Comparator <sesson> Comparator = new Comparator <Soper> () {@Override public int Compare (Pessoa O1, Pessoa O2) {return o1.getage (). Compareto (o2.getage ()); }}; Coleções.sort (Lista, Comparador); showall (); } // Classifique as informações do Usuário gênero public void orderSex () {Comparator <sesson> comparador = new Comparator <Soper> () {@Override public int Compare (Pessoa O1, Pessoa O2) {Return o1.getSex (). Compareto (o2.getSex ()); }}; Coleções.sort (Lista, Comparador); showall (); }}Resumo: Este projeto me deixou muito claro sobre o que é orientado a objetos e por que o Java é uma linguagem de programação orientada a objetos. O código do programa é chamado pelos objetos e também entendi como um projeto deve ser escrito claramente. As funções e visões devem ser separadas. Cada classe tem suas próprias funções específicas. As funções de cada classe não devem ser desinstaladas juntas. Tais códigos não são basicamente reutilizáveis. Se eles estiverem separados e claros, ao adicionar módulos funcionais no futuro, apenas as funções precisam ser adicionadas sem modificar o código anterior. Este poço reflete o princípio de abrir e fechar. Para o conteúdo do desenvolvimento e modificação da função, este projeto também reflete o padrão de design do MVC. Para mim, este projeto me beneficiou muito.