无方法调用的人事系统
package com.itheima;
import java.util.Scanner;
/**
* 欣知人事年龄管理系统
* author:
*/
public class XinzhiHr {
public static void main(String[] args) {
// 创建一个数组存放员工的年龄
int[] users = new int[3];
Scanner scanner = new Scanner(System.in);
System.out.println("请输入贵公司员工的年龄:");
for (int i = 0;i <users.length;i++) {
System.out.print("请输入第"+ (i+1) +"号员工的年龄:");
users[i] = scanner.nextInt();
System.out.println();
}
boolean flag = true;
while (flag) {
System.out.println("-------------");
System.out.println("功能选择:1 年龄排序 2找到最大年龄 3 添加一个新的年龄 4 退出");
int function = scanner.nextInt();
switch (function) {
case 1:
for (int i = 0; i < users.length - 1; i++) {
for (int j = 0; j < users.length - 1 - i; j++) {
if (users[j] > users[j + 1]) {
int temp = users[j];
users[j] = users[j + 1];
users[j + 1] = temp;
}
}
}
break;
case 2:
int max = users[0];
for (int i = 0; i < users.length; i++) {
if (users[i] > max) {
max = users[i];
}
}
System.out.println("最大的人" + max + "岁了");
break;
case 3:
// 1、数组一旦创建就不能改变,我们扩容必须新建一个
int[] tempUsers = new int[users.length + 1];
// 2、把旧的数组内容复制给新的数组
for (int i = 0; i < users.length; i++) {
tempUsers[i] = users[i];
}
// 3、把新的年龄放在最后一位
System.out.println("请输入新的年龄:");
tempUsers[tempUsers.length - 1] = scanner.nextInt();
// 4、把users指向新的内存数组
users = tempUsers;
break;
case 4:
flag = false;
break;
default:
System.out.println("输入错误!");
break;
}
System.out.println("--------当前员工信息--------");
for (int i = 0; i < users.length; i++) {
System.out.println("欣知第" + (i + 1) + "号员工年龄为:" + users[i] + "岁");
}
}
}
}
有方法调用的人事系统
package com.itheima;
import java.util.Scanner;
/**
* 欣知人事年龄管理系统
* author:
*/
public class XinZhiHr2 {
public static void main(String[] args) {
// 创建一个数组存放员工的年龄
int[] users = new int[3];
Scanner scanner = new Scanner(System.in);
System.out.println("请输入贵公司员工的年龄:");
for (int i = 0;i <users.length;i++) {
System.out.print("请输入第"+ (i+1) +"号员工的年龄:");
users[i] = scanner.nextInt();
System.out.println();
}
boolean flag = true;
while (flag) {
System.out.println("-------------");
System.out.println("功能选择:1 年龄排序 2找到最大年龄 3 添加一个新的年龄 4 退出");
int function = scanner.nextInt();
switch (function) {
case 1:
sort(users);
break;
case 2:
// 实参
int max = findMax(users);
System.out.println("最大的人" + max + "岁了");
break;
case 3:
System.out.println("请输入新员工的年龄:");
int newUser = scanner.nextInt();
users = addUser(users,newUser);
break;
case 4:
flag = false;
break;
default:
System.out.println("输入错误!");
break;
}
System.out.println("--------当前员工信息--------");
for (int i = 0; i < users.length; i++) {
System.out.println("欣知第" + (i + 1) + "号员工年龄为:" + users[i] + "岁");
}
}
}
public static int[] addUser(int[] oldArr,int newDate){
// 1、数组一旦创建就不能改变,我们扩容必须新建一个
int[] tempUsers = new int[oldArr.length + 1];
// 2、把旧的数组内容复制给新的数组
for (int i = 0; i <oldArr.length; i++) {
tempUsers[i] = oldArr[i];
}
tempUsers[tempUsers.length-1] = newDate;
// 4、把users指向新的内存数组
return tempUsers;
}
// void表示无返回值 这个方法对数组进行排序
public static void sort(int[] users){
for (int i = 0; i < users.length - 1; i++) {
for (int j = 0; j < users.length - 1 - i; j++) {
if (users[j] > users[j + 1]) {
int temp = users[j];
users[j] = users[j + 1];
users[j + 1] = temp;
}
}
}
}
// 形参 这个方法是找到最大年龄 有返回值不得使用void
public static int findMax(int[] arr){
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
}