java - 如何在代码运行时将随机生成的字符串和整数添加到数组中?
问题描述
我正在尝试制作一个基于文本的商业游戏,您可以在其中雇用和解雇员工。最多可以有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;
}
}
}
}
}
解决方案
推荐阅读
- php - 如何防止 laravel 在测试中触发事件?
- java - 在 webapp 中删除文件时,Tomcat 8.5.42 权限被拒绝
- wordpress - 由于图像,http -> https 之后的混合内容。如何在没有插件的情况下在数据库中更改它们?
- sql - Execute all the stored procedures in the database with dummy input parameters
- css - Media Queries not working in IE11 (Resolution problem)
- php - 如何在使用 Ajax 将数据插入数据库时修复 500 内部服务器错误
- swift - UIImagePickerController Navigation Bar Tint Color not working with iOS 13
- python - 无法保持 Spark Thrift 服务器运行
- r - How to change time in combined time-date variable (POSIXlt)?
- angular - Get only specific document firestore