Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DisposersDemo;
- /**
- * A Disposer does some kind of disposing.
- *
- */
- public interface Disposer
- {
- /**
- * Dispose of the given waste.
- * Implementers must dispose of the waste in the manner they choose.
- *
- * @param waste the wasted to be disposed of.
- */
- void dispose(String waste);
- }
- package DisposersDemo;
- /**
- * Chipper disposes thing by cutting them into chips.
- */
- public class Chipper implements Disposer
- {
- public void dispose(String waste)
- {
- System.out.println("Now chipping: " + waste);
- }
- }
- package DisposersDemo;
- /**
- * Incinerator disposes thing by burning them.
- */
- public class Incinerator implements Disposer
- {
- public void dispose(String waste)
- {
- System.out.println("Now burning: " + waste);
- }
- }
- package DisposersDemo;
- /**
- * Some Gardener will be modeled here.
- */
- public class Gardener
- {
- private Disposer disposer;
- /**
- * Constructor for objects of class Gardener
- */
- public Gardener(Disposer disposer)
- {
- this.disposer = disposer;
- }
- public void removeWeeds(String input)
- {
- for (int ltr = 0; ltr < input.length()-4; ltr+=4)
- {
- String slice = input.substring(ltr,ltr+2);
- disposer.dispose(slice);
- }
- }
- }
- package DisposersDemo;
- import java.util.*;
- public class AppMain
- {
- public static void main(String[] args)
- {
- Disposer machine;
- if (args.length == 0)
- {
- machine = new Incinerator();
- }
- else
- {
- machine = new Chipper();
- }
- Scanner scan = new Scanner(System.in);
- String data = scan.nextLine();
- Gardener gardener = new Gardener(machine);
- gardener.removeWeeds(data);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement