首页 > 解决方案 > 如何在代码运行时将随机生成的字符串和整数添加到数组中?

问题描述

我正在尝试制作一个基于文本的商业游戏,您可以在其中雇用和解雇员工。最多可以有5个员工,一旦力量达到5个,我们可以解雇员工。我编写了代码来随机生成新申请人的详细信息,但我无法保存雇用的员工。有人可以指导吗?

package TestPackage;

import java.util.*;

public class EmployeeRandomizer {
    /*this is where the employee's profile will be created and chosen by user. */

    public static void main (String args[]) {
        int spacesAvailable = 5;
        int employeesHired = 0;
        while(true) {
            Random generate = new Random();
            String[] name = {"John", "Marcus", "Susan", "Henry"};
            int[] age = {20,21,22,23,24,25,25,26,26,27,28,29,30,20,21,22,23,24,25,25,26,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50};
            String[] education = {"business", "accountant", "human resources","none"};
            for(int i = 0; i < employeesHired; i++){
                int index = (int)(Math.random() * 10);
                System.out.println(name[index]+age[index]+education[index]);
            }
            System.out.println("name: " +name[generate.nextInt(4)]);
            System.out.println("age: "+age[generate.nextInt(40)]);
            System.out.println("education: " +education[generate.nextInt(4)]);
            System.out.println("will you hire this person? (y/n)");
            Scanner hire = new Scanner(System.in);
            String hireEmployee = hire.next();
            if(hireEmployee.equals("y")) {
                System.out.println("you have hired a new employee!");
                spacesAvailable = spacesAvailable-1;
                employeesHired = employeesHired+1;
                System.out.println("employees: " + employeesHired);
                if(spacesAvailable>0 && employeesHired<5) {
                    System.out.println("There's " +spacesAvailable+" available spaces in your employee list.");
                    System.out.println("1. hire more employees");
                    System.out.println("2. view employees list");
                    Scanner hireMore = new Scanner(System.in);
                    String hireMoreAnswer =hireMore.next();
                    if (hireMoreAnswer.equals("1")) {
                        continue;
                    }

                    if (hireMoreAnswer.equals("2")) {
                        for(int i = 0; i < employeesHired;){
                            int index = (int)(Math.random() * 10);
                            System.out.println(name[index]);
                            System.out.println(age[index]);
                            System.out.println(education[index]);
                            break;
                        }
                        break;
                    }
                }
                if(spacesAvailable==0 || employeesHired==5) {
                    System.out.println("You have no more spaces left to hire more employees. (1 or 2?)");
                    System.out.println("1. Fire an employee (+1 space)");
                    System.out.println("2. Exit (more coming soon!)");
                    Scanner oneTwo = new Scanner(System.in);
                    String oneOrTwo = oneTwo.next();
                    if(oneOrTwo.equals("1")) {


                    }
                    if (oneOrTwo.contentEquals("2")) {
                        break;
                    }
                }
            }
            if(hireEmployee.equals("n")) {
                System.out.println("you have declined this application");
                System.out.println("There's " +spacesAvailable+" available spaces in your employee list. Would you like to hire more employees? (y/n)");
                Scanner hireMoreTwo = new Scanner(System.in);
                String hireMoreAnswerTwo =hireMoreTwo.next();
                if (hireMoreAnswerTwo.equals("y")) {
                    continue;
                }

                if (hireMoreAnswerTwo.equals("n")) {
                    break;
                }
            }

        }


    }
}

标签: javaarrayseclipse

解决方案


推荐阅读