コード例 #1
0
  public static void main(String[] args) {
    Runtime rt = Runtime.getRuntime();
    List<ExecCmd> comandos = new ArrayList<>();
    Scanner scanner = new Scanner(System.in);
    String cmd;

    while (true) {
      System.out.print("comando> ");
      cmd = scanner.next();

      if (!cmd.toLowerCase().equals("fim")) {
        comandos.add(new ExecCmd(cmd));
        comandos.get(comandos.size() - 1).start();
      } else {
        int soma = 0;
        char resposta;

        for (ExecCmd c : comandos) soma += c.terminado() ? 0 : 1;

        System.out.print("Há " + soma + " processos em execução. Deseja terminá-los? <y/n>");

        do resposta = scanner.next().charAt(0);
        while (resposta != 'y' && resposta != 'n');

        if (resposta == 'y') {
          for (ExecCmd c : comandos) c.cancela();
          break;
        }
      }
    }
  }
コード例 #2
0
ファイル: Pratica93.java プロジェクト: goettens/Pratica93
 public static void main(String[] args) {
   Scanner in = new Scanner(System.in);
   String comando;
   List<ExecCmd> execCmd = new ArrayList<>();
   int i = 0;
   while (true) {
     System.out.println("comando>");
     comando = in.nextLine();
     if (comando.equals("fim")) {
       for (ExecCmd e : execCmd) {
         if (!e.terminado()) {
           i++;
         }
       }
       if (i > 0) {
         System.out.println("Há " + i + " processos em execução. Deseja terminá-los? (s/n)");
         if (in.next().equals("s")) {
           for (ExecCmd c : execCmd) {
             if (!c.terminado()) {
               c.cancela();
             }
           }
           break;
         }
       }
       if (i == 0) {
         break;
       }
     } else {
       ExecCmd exe = new ExecCmd(comando);
       execCmd.add(exe);
       exe.start();
     }
     i = 0;
   }
 }