【发布时间】:2019-09-29 15:52:02
【问题描述】:
我有多个类,例如客户、客户、员工、员工、产品、产品。带有“s”的程序是主类。我有一个主课,我希望这是程序的起点。我想要一个 switch 语句。我想请用户输入 1-3,然后从他们的输入中运行该主类。比如如果 input 是 1 就会运行 customers main 等。我该怎么做?
导入 java.util.Scanner;
public class Main {
public static void main(String[] args) throws InputValidationException {
//run customer add/edit/remove
int choice = 0;
while (true) {
displayMenu();
switch (choice) {
case 1:
customers.main(null);
break;
case 2:
cars.main(null);
break;
case 3:
Staff.main(null);
break;
}
}
}
private static void displayMenu() {
Scanner input;
{
input = new Scanner(System.in);
{
System.out.println("1. Customers");
System.out.println("2. Cars");
System.out.println("3. Staff");
System.out.println("Which would you like to add/edit: ");
String choice = input.nextLine();
}
}
}
}
My other classes are fairly similar to this:
import java.util.Scanner;
import java.util.concurrent.CopyOnWriteArrayList;
//creates and array of the customers
public final class customers {
public static void main(String[] args) throws InputValidationException {
//add new customer
CopyOnWriteArrayList<customer> customers = new CopyOnWriteArrayList<>();
//List will fail in case of remove due to ConcurrentModificationException
//loop getting input
//input 'q' to quit
Scanner input;
{
//scanner to get the input
input = new Scanner(System.in);
{
while (true) {
//ask user for input and get input
System.out.println("Enter id (press 'q' to quit): ");
String temp = input.nextLine();
if (temp.equals("q")) break;
int id = Integer.parseInt(temp);
System.out.println("Enter first name:");
String firstName = input.nextLine();
System.out.println("Enter last name:");
String lastName = input.nextLine();
//add to array list
customers.add(new customer(id, firstName, lastName));
}
}
}
//Display All
System.out.println("Current List: ");
for (customer customer : customers) {
System.out.println(customer.toString());
}
// search
System.out.println("Enter name to search and display");
String searchString = input.nextLine();
for (customer customer : customers) {
if (customer.search(searchString) != null) {
System.out.println(customer.toString());
}
}
//Remove
System.out.println("Enter name to search & remove");
searchString = input.nextLine();
for (customer customer : customers) {
if (customer.search(searchString) != null) {
System.out.println(customer.toString() + " is removed from the List");
customers.remove(customer);
}
}
}
}
customer 类只包含变量、setter、getter 和构造函数
【问题讨论】:
-
听起来不错,你试过了吗?什么不起作用?
-
显示您的代码。
-
欢迎来到 Stack Overflow!请使用tour,环顾四周,并通读help center,尤其是I ask a good question? 和What topics can I ask about here? 是如何做到的。从第二个链接:“要求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的摘要,以及您在解决问题时遇到的困难的描述。”请添加MCVE。
-
我已经上传了我的代码。当我运行程序时,它只是一直在问问题,而不是运行课程。
标签: java oop switch-statement mainclass