//记录我的“从零开始学Java” #6

今天遇到了一个尚且没有解决掉的问题:如何自动判断输入的内容为中文还是英文并将内容存入数组。

实现了一个初级的档案管理雏形,有很多BUG, 比如说只能输入英文名字。。。
同时,这也是我第一次有意识地去将功能分割为不同的方法,进行组合。果然维护、修改更加方便了。

package com.test;
import java.util.Scanner;
public class Register {
	public static String[] name = new String[100];
	public static String[] sex = new String[100];
	public static int[] age = new int[100];
	public static int[] tall = new int[100];
	public static int[] weight = new int[100];
	public static boolean[] judge = new boolean[100];//老办法,通过boolean数组判断对应数组有无数值
	static{
		for(int i = 0;i<judge.length;++i){
			judge[i] = false;
		}
	}//初始化boolean数组
	public void AddNew(){
		Scanner inputAddNew = new Scanner(System.in);
		System.out.println("请输入要新增的姓名:");
		String addNew = inputAddNew.next();
		for(int i = 0 ; i<name.length ; ++i){
			if(addNew.equals(name[i])){
				System.out.println("查询到已有同名档案,是否跳转?");
				System.out.println("输入Y or N");
				String yon = inputAddNew.next();
				if("Y".equals(yon)){
					Register Jump = new Register();
					Jump.Already(i , addNew);
				}else{
					AddNew();
				}
			}
		}
		for(int i = 0 ; i<judge.length ; ++i){
			if(judge[i] == false){
				name[i] = addNew;
				judge[i] = true;//存入名字后将对应数组状态改为true
				System.out.println("请输入性别:");
				sex[i] = inputAddNew.next();
				System.out.println("请输入年龄");
				age[i] = inputAddNew.nextInt();
				System.out.println("请输入身高");
				tall[i] = inputAddNew.nextInt();
				System.out.println("请输入体重");
				weight[i] = inputAddNew.nextInt();
				System.out.println("录入完成,返回主程序");
				main(null);//录入完成后回到main方法
			}
		}
	}
	public void Already(int i , String Alreadyname){
		System.out.println("姓名:" + name[i] + ",性别:" + sex[i] + ",年龄:" + age[i] + "岁,身高:" + tall[i] + "cm,体重:" + weight[i] + "斤");
	}//新建档案但名字已经存在时调用该方法
	public void Search(){
		Scanner inputSearch = new Scanner(System.in);
		System.out.println("请输入要查询的姓名:");
		String Search = inputSearch.next();
		for(int i = 0 ; i<name.length; ++i){
			if(judge[i] == true){
				if(name[i].equals(Search)){
					System.out.println("你查询的" + Search + "资料为:");
					System.out.println("姓名:" + name[i] + ",性别:" + sex[i] + ",年龄:" + age[i] + "岁,身高:" + tall[i] + "cm,体重:" + weight[i] + "斤");
					System.out.println("查询完毕,返回主程序");
					main(null);
				}
			}
		}
		System.out.println("你查询的人不存在,是否新建档案?");
		System.out.println("Y or N");
		String yon = inputSearch.next();
		if("Y".equals(yon)){
			Register Jump = new Register();
			Jump.AddNew();
		}
		System.out.println("请重新查询");
		Search();
	}
	public void Rewrite(){
		Scanner inputRewrite = new Scanner(System.in);
		System.out.println("请输入要修改档案的姓名:");
		String Rewrite = inputRewrite.next();
		for(int i = 0 ; i<name.length ; ++i){
			if(judge[i] == true){
				if(name[i].equals(Rewrite)){
					System.out.println("请输入你想修改" + Rewrite + "的信息类别:");
					System.out.println("1.姓名  2.性别  3.年龄  4.身高  5.体重");
					int myRewrite = inputRewrite.nextInt();
					switch(myRewrite){
					case 1:
						System.out.println("请输入新姓名:");
						String newName = inputRewrite.next();
						Register Jump1 = new Register();
						Jump1.Rewrite1(i , newName);
					case 2:
						System.out.println("请输入新性别:");
						String newSex = inputRewrite.next();
						Register Jump2 = new Register();
						Jump2.Rewrite2(i , newSex);
					case 3:
						System.out.println("请输入新年龄:");
						int newAge = inputRewrite.nextInt();
						Register Jump3 = new Register();
						Jump3.Rewrite3(i , newAge);
					case 4:
						System.out.println("请输入新身高:");
						int newTall = inputRewrite.nextInt();
						Register Jump4 = new Register();
						Jump4.Rewrite4(i , newTall);
					case 5:
						System.out.println("请输入新身高:");
						int newWeight = inputRewrite.nextInt();
						Register Jump5 = new Register();
						Jump5.Rewrite5(i , newWeight);
					}//通过加入switch开关来调用每个功能对应的方法
				}
			}
		}
		System.out.println("无" + Rewrite + "的档案,是否新增?");
		System.out.println("Y or N");
		String yon = inputRewrite.next();
		if("Y".equals(yon)){
			Register Jump = new Register();
			Jump.AddNew();
		}
		System.out.println("请重新修改");
		Rewrite();
	}
	public void Rewrite1(int i , String newName){
		Scanner inputRewrite1 = new Scanner(System.in);
		System.out.println("您即将把" + name[i] + "的姓名改为" + newName + ",是否确认?");
		System.out.println("Y or N");
		String agree = inputRewrite1.next();
		if("Y".equals(agree)){
			name[i] = newName;
			System.out.println("修改成功,返回主程序");
			main(null);
		}
		System.out.println("取消修改,回到主程序");
		main(null);
	}
	public void Rewrite2(int i , String newSex){
		Scanner inputRewrite2 = new Scanner(System.in);
		System.out.println("您即将把" + name[i] + "的性别从 " + sex[i] + " 改为 " + newSex + ",是否确认?");
		System.out.println("Y or N");
		String agree = inputRewrite2.next();
		if("Y".equals(agree)){
			sex[i] = newSex;
			System.out.println("修改成功,返回主程序");
			main(null);
		}
		System.out.println("取消修改,回到主程序");
		main(null);
	}
	public void Rewrite3(int i , int newAge){
		Scanner inputRewrite3 = new Scanner(System.in);
		System.out.println("您即将把" + name[i] + "的年龄从 " + age[i] + " 岁改为 "+ newAge + " 岁,是否确认?");
		System.out.println("Y or N");
		String agree = inputRewrite3.next();
		if("Y".equals(agree)){
			age[i] = newAge;
			System.out.println("修改成功,返回主程序");
			main(null);
		}
		System.out.println("取消修改,回到主程序");
		main(null);
	}
	public void Rewrite4(int i , int newTall){
		Scanner inputRewrite4 = new Scanner(System.in);
		System.out.println("您即将把" + name[i] + "的身高从 " + tall[i] + " cm改为 "+ newTall + " cm,是否确认?");
		System.out.println("Y or N");
		String agree = inputRewrite4.next();
		if("Y".equals(agree)){
			tall[i] = newTall;
			System.out.println("修改成功,返回主程序");
			main(null);
		}
		System.out.println("取消修改,回到主程序");
		main(null);
	}
	public void Rewrite5(int i , int newWeight){
		Scanner inputRewrite5 = new Scanner(System.in);
		System.out.println("您即将把" + name[i] + "的体重从 " + weight[i] + " 斤改为 "+ newWeight + " 斤,是否确认?");
		System.out.println("Y or N");
		String agree = inputRewrite5.next();
		if("Y".equals(agree)){
			weight[i] = newWeight;
			System.out.println("修改成功,返回主程序");
			main(null);
		}
		System.out.println("取消修改,回到主程序");
		main(null);
	}
	public static void main(String[] args) {
		Scanner inputMain = new Scanner(System.in);
		System.out.println("请输入要进行的操作:");
		System.out.println("1.添加新档案  2.查询档案  3.修改档案  4.退出");
		int main = inputMain.nextInt();
		switch(main){
		case 1:
			Register Jumpa = new Register();
			Jumpa.AddNew();
		case 2:
			Register Jumpb = new Register();
			Jumpb.Search();
		case 3:
			Register Jumpc = new Register();
			Jumpc.Rewrite();
		case 4:
			System.exit(0);
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值