在Java中为终端应用程序创建命令

前端之家收集整理的这篇文章主要介绍了在Java中为终端应用程序创建命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是编程新手,我正在创建一个只在命令行中运行的应用程序.我发现我可以使用BufferedReader从命令行读取输入.
  1. BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  2. String Input = "";
  3.  
  4. while (Input.equalsIgnoreCase("Stop") == false) {
  5. Input = in.readLine();
  6. //Here comes the tricky part
  7. }
  8.  
  9. in.close();

我现在要做的是找到一种方法来创建不同的“命令”,只需在命令行中键入它们就可以使用它们.但是这些命令可能必须多次使用.我是否必须使用某种Command设计模式和一个巨大的switch语句(这对我来说似乎不对)?我想避免使用额外的库.

有没有更多经验的人可以帮助我吗?

解决方法

你可以尝试这样的事情:
  1. public static void main(String[] args) {
  2. BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  3. String input = "";
  4. try {
  5. while (!input.equalsIgnoreCase("stop")) {
  6. showMenu();
  7. input = in.readLine();
  8. if(input.equals("1")) {
  9. //do something
  10. }
  11. else if(input.equals("2")) {
  12. //do something else
  13. }
  14. else if(input.equals("3")) {
  15. // do something else
  16. }
  17. }
  18. } catch (IOException e) {
  19. e.printStackTrace();
  20. }
  21. }
  22.  
  23. public static void showMenu() {
  24. System.out.println("Enter 1,2,3,or \"stop\" to exit");
  25. }

优良作法是将变量保持在较低的范围内.

我也会这么说!Input.equalsIgnoreCase(“stop”)比Input.equalsIgnoreCase(“stop”)== false更具可读性,尽管两者在逻辑上是等价的.

猜你在找的Java相关文章