Java案例-人事工号管理
1. Java案例
人事工号管理:
package ydlclass.test;
//可以不断的选择功能,一是新增工号(如果空间不够则需要扩容),二是查找工号
import java.util.Scanner;
public class ydlHr {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num[] = new int[2];
int numIndex =-1;
//不断的选择功能:while循环加阻断。
while(true){
System.out.println("please choose function:1 addition;2:search;3:break;4:print table");
int choose = scanner.nextInt();//选择功能;1:添加,2;查找;3,退出。
flag:if (choose==1){
System.out.println("please import number");//加入数组
int number = scanner.nextInt();
//若存在则报错重新输入
for (int i = 0; i < num.length; i++) {
if (num[i] == number){
System.out.println("the number was existed !");
break flag;
}
}
numIndex++;
if(numIndex > num.length-1){// 判满
int temp [] = new int[num.length*2];//num.length+1?
for (int i = 0; i < num.length; i++) {
temp[i] = num [i];
}
num = temp ;//数组满了扩容
}
num[numIndex] = number;
}else if (choose==2){
System.out.println("please import number");//查找?按值查找or按位查找
int number = scanner.nextInt();
for (int i = 0; i < num.length; i++) {
if (num[i] == number){
System.out.println("the number was "+number+", locate in "+i);
break flag;
}
}
System.out.println("the number does not exist");
}else if (choose==3){
System.out.println("program quit");
break;
}else if (choose==4){
System.out.println("show down");
for (int i = 0; i <= numIndex; i++) {
System.out.println(num[i]);
}
// System.out.println(num.length);
}
}
}
}
2. 总结:
-
写代码要有条理;
-
不要着急一个功能一个功能的实现;
-
学会一边写一边找问题。
-
flag的用法
-
if(function == 2){ System.out.println("请输入要查找的工号:"); int num = scanner.nextInt(); int result = -1; for (int i = 0; i < nums.length; i++) { if(nums[i] == num){ result = i; break; } } System.out.println( result == -1 ? "改工号不存在" : "该工号存在:"+nums[result] ); }
如何更好的写退出语句 利用flag记录状态。
-
一种思想:碰到问题需要什么再去定义什么。
-
不要一口吃成胖子,一边写一边调试才是王道。