Advertisement
Dr_U

Class Parser

Nov 18th, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  1.  
  2. /**
  3.  * class parser disini untuk membaca input dan melakukan command tersebut. setiap kali
  4.  * dipanggil kata nya dari terminal maka akan langsung melakukan command 2 kata. return command
  5.  * sebagai obej dari class command
  6.  *
  7.  * parser disini sudah diberi set dari command yang sudah di ketahui . kemudian mengecek
  8.  * inputan dari user dengan command yang sudah diinisialisasi. dan jika tidak sesuai maka
  9.  * akan langsung ditandai sebagai kata yang tidak diketahui
  10.  *
  11.  *
  12.  * @author  Yusuf Anfasya
  13.  * @version 0.0.1 (19/11/2020)
  14.  */
  15.  
  16. import java.util.Scanner;
  17.  
  18. public class Parser
  19. {
  20.     private CommandWords perintah;  // menahan semua command yang sudah ada
  21.     private Scanner baca;         // untuk inisialisasi scanner
  22.  
  23.     /**
  24.      * membuat parser untuk membaca dari terminal window.
  25.      */
  26.     public Parser()
  27.     {
  28.         perintah = new CommandWords();
  29.         baca = new Scanner(System.in);
  30.     }
  31.  
  32.     /**
  33.      * @return The next command from the user.
  34.      */
  35.     public Command getCommand()
  36.     {
  37.         String inputLine;   // untuk inputan penuh
  38.         String kata1 = null;
  39.         String kata2 = null;
  40.  
  41.         System.out.print(">> ");     // print prompt
  42.  
  43.         inputLine = baca.nextLine();
  44.  
  45.         // untuk menscan 2 kata dari line perintah
  46.         Scanner utama = new Scanner(inputLine);
  47.         if(utama.hasNext()) {
  48.             kata1 = utama.next();      // ambil kata pertama
  49.             if(utama.hasNext()) {
  50.                 kata2 = utama.next();      // ambil kata kedua
  51.                 // note: dan lupakan kata lain jika lebih dari 2
  52.             }
  53.         }
  54.  
  55.         // lalu cek apakan kata tersebut sudah dikenali jika benar jadikan perintah
  56.         //jika tidak maka menjadi null command
  57.         if(perintah.isCommand(kata1)) {
  58.             return new Command(kata1, kata2);
  59.         }
  60.         else {
  61.             return new Command(null, kata2);
  62.         }
  63.     }
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement