package com.shangxuetang;
//核心业务类
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Operate {
private List<Person> list;
public Operate(){
this.list = new ArrayList<>();
}
//用户添加记录业务逻辑控制
public void addLogic(){
Menu menu = new Menu();
TelNoteRegex telNoteRegex = new TelNoteRegex();
while (true){
menu.addMenu();
int item = telNoteRegex.menuItemValidate(1,3);
switch (item){
case 1: this.addOperation();break;
case 2:this.showAll();break;
case 3: return;
}
}
}
//用户查询记录业务逻辑控制
public void searchLogic(){
Menu menu = new Menu();
TelNoteRegex telNoteRegex = new TelNoteRegex();
while(true){
menu.searchMenu();
int item = telNoteRegex.menuItemValidate(1,7);
switch (item){
case 1:this.searchByname();break;
case 2:this.searchByage();break;
case 3:this.searchBysex();break;
case 4:this.searchByTelNum();break;
case 5:this.searchByadd();break;
case 6:this.showAll();break;
case 7:return;
}
}
}
//用户修改记录业务逻辑控制
public void modifyLogic(){
Menu menu = new Menu();
TelNoteRegex telNoteRegex = new TelNoteRegex();
while(true){
menu.modifyMenu();
int item = telNoteRegex.menuItemValidate(1,3);
switch (item){
case 1:this.showAll();break;
case 2:this.modifyOperation();break;
case 3:return;
}
}
}
//用户删除记录业务逻辑控制
public void deleteLogic(){
Menu menu = new Menu();
TelNoteRegex telNoteRegex = new TelNoteRegex();
while (true){
menu.deleteMenu();
int item = telNoteRegex.menuItemValidate(1,4);
switch (item){
case 1:this.showAll();break;
case 2:this.deleteoperation();break;
case 3:this.deletAllOperatiopn();break;
case 4:return;
}
}
}
//用户排序记录业务逻辑控制
public void orderLogic(){
Menu menu = new Menu();
TelNoteRegex telNoteRegex = new TelNoteRegex();
while (true){
menu.orderMenu();
int item = telNoteRegex.menuItemValidate(1,5);
switch (item){
case 1:this.orderNmae();break;
case 2:this.orderAge();break;
case 3:this.orderSex();break;
case 4:this.showAll();break;
case 5:return;
}
}
}
//添加新纪录信息
public void addOperation(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String name = telNoteRegex.nameValidate();
String age = telNoteRegex.ageValidate();
String sex = telNoteRegex.sexValidate();
String telNum = telNoteRegex.telNumValidate();
String address = telNoteRegex.addressValidate();
Person person = new Person(name,age,sex,telNum,address);
this.list.add(person);
person.setId(this.list.size());
}
//查询全部记录方法
public void showAll(){
System.out.println("查询全记录");
boolean flag = true;
for (int i =0;i<list.size();i++){
System.out.println(this.list.get(i));
flag = false;
}
if (flag){
System.out.println("无记录");
}
}
//按姓名查询记录的方法
public void searchByname(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String name = telNoteRegex.nameValidate();
boolean flag = true;
for (int i = 0;i<this.list.size();i++){
if (name.equals(list.get(i).getName())){
System.out.println(this.list.get(i));
flag = false;
}
}
if (flag){
System.out.println("没有此人记录");
}
}
//按年龄查寻记录的方法
public void searchByage(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String age =telNoteRegex.ageValidate();
boolean flag = true;
for (int i = 0;i<this.list.size();i++){
if (age.equals(this.list.get(i).getAge())){
System.out.println(this.list.get(i));
flag = false;
}
}
if (flag){
System.out.println("没有此人记录");
}
}
//按性别查找记录的方法
public void searchBysex(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String sex = telNoteRegex.sexValidate();
boolean flag = true;
for (int i = 0;i<this.list.size();i++){
if (sex.equalsIgnoreCase(this.list.get(i).getSex())){
System.out.println(this.list.get(i));
flag = false;
}
}
if (flag){
System.out.println("没有此人记录");
}
}
//按电话号码查询记录的方法
public void searchByTelNum(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String telNum = telNoteRegex.telNumValidate();
boolean flag = true;
for (int i = 0;i<this.list.size();i++){
if (telNum.equals(this.list.get(i).getTelNum())){
System.out.println(this.list.get(i));
flag = false;
}
}
if (flag){
System.out.println("没有此人记录!");
}
}
//按地址查询记录的方法
public void searchByadd(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
String Add = telNoteRegex.addressValidate();
boolean flag = true;
for (int i=0;i<this.list.size();i++){
if (Add.equals(this.list.get(i).getAddress())){
System.out.println(this.list.get(i));
flag = false;
}
}
if (flag){
System.out.println("没有此人信息");
}
}
//修改指定记录的方法
public void modifyOperation(){
TelNoteRegex telNoteRegex = new TelNoteRegex();
Menu menu = new Menu();
//对被修改的记录的序号进行验证,可以使用对菜单项验证的方法来完成
System.out.println("请输入记录的序号");
int itemNum = telNoteRegex.menuItemValidate(1,this.list.size());
menu.subModIfyMenu();
int menuItem = telNoteRegex.menuItemValidate(1,6);
switch (menuItem){
case 1:
String name = telNoteRegex.nameValidate(); this.list.get(itemNum-1).setName(name); break;
case 2:
String age = telNoteRegex.ageValidate(); this.list.get((itemNum-1)).setAge(age); break;
case 3:
String sexs = telNoteRegex.sexValidate(); this.list.get(itemNum-1).getSex(sexs); break;//错误
case 4:break;
case 5:break;
case 6:return;
}
}
//删除指定记录的方法
public void deleteoperation(){
System.out.println("删除指定记录");
}
//删除全部记录的方法
public void deletAllOperatiopn(){
System.out.println("删除全部记录");
}
//按用户姓名排序记录的方法
public void orderNmae(){
System.out.println("按姓名排序");
}
//按用户年龄排序记录的方法
public void orderAge(){
System.out.println("按年龄排序");
}
//按用户性别排序记录的方法
public void orderSex(){
System.out.println("按性别排序");
}
//按姓名排序的比较器
class OrderByName implements Comparator<Person>{
@Override
public int compare(Person o1, Person o2) {
return 0;
}
}
//按年龄排序的比较器
class OrderByAge implements Comparator<Person> {
@Override
public int compare(Person o1, Person o2) {
return 0;
}
}
// 按性别排序的比较器
class OrderBySex implements Comparator<Person>{
@Override
public int compare(Person o1, Person o2) {
return 0;
}
}
}
Error:(236, 83) java: 无法将类 com.shangxuetang.Person中的方法 getSex应用到给定类型;
需要: 没有参数
找到: java.lang.String
原因: 实际参数列表和形式参数列表长度不同
236行我sexs下有红线