重複の可能性:
Javaの文字列を使用したSwitchステートメント
わかりました、基本的に私はこれが可能かどうかとそれを行う方法を知りたいです。メニューがあり、このswitchステートメントでユーザーが入力した文字または文字列を認識したいと思います。
私が書いている小さなメニュープログラムがあります:
import java.util.*;
import java.io.*;
import java.io.File;
import java.io.FileReader;
public class Personnel
{
// Instance Variables
private static String empName;
private static double wage;
public static void main(String[] args) throws Exception
{
clearScreen();
question();
printMenu();
exit();
}
public static void clearScreen()
{
System.out.println("\u001b[H\u001b[2J");
}
private static void exit()
{
System.exit(0);
}
private static void printMenu()
{
System.out.println("\t------------------------------------");
System.out.println("\t|Commands: n - New employee |");
System.out.println("\t| c - Compute paychecks |");
System.out.println("\t| r - Raise wages |");
System.out.println("\t| p - Print records |");
System.out.println("\t| d - Download data |");
System.out.println("\t| u - Upload data |");
System.out.println("\t| q - Quit |");
System.out.println("\t------------------------------------");
System.out.println("");
}
private static void question()
{
System.out.println("Enter command: ");
Scanner q = new Scanner(System.in);
// String input = q.nextLine();
switch (q.nextLine())
{
case "n":
System.out.println("Enter the name of new employee: ");
Scanner stdin = new Scanner(System.in);
System.out.println("Hourly (h) or salaried (s): ");
Scanner stdin2 = new Scanner(System.in);
if (stdin2.equals("h"))
{
System.out.println("Enter hourly wage: ");
Scanner stdin3 = new Scanner(System.in);
}
else
{
System.out.println("Enter annual salary: ");
Scanner stdin4 = new Scanner(System.in);
}
break;
/*
* case 9:
* System.out.println ("Please proceed.");
* new InputMenu();
* break;
* default:
* System.err.println ("Unrecognized option" ); break;
*/
}
}
}
私がやろうとしているのは、このメニューを機能させてコマンドを入力できるようにすることです。次に、入力したコマンドに応じて実行するメソッドを記述します。switchステートメントはこれを行うための最良の方法ですか?彼らが情報を入力した後、メインメニューに「ブレーク」するためにそれが必要です。そして、プログラム全体の中でいつでも、それらがqに入ると、プログラムは終了します。これを行うための最善の方法がわかりません。
ありがとう!