英語を達成するためのコマンドモード - ロシア - デジタル

英語を達成するためのコマンドモード - ロシア - デジタル

Command.java:

public interface Command {

	public abstract void execute();
}
``
MacroCommand.java:

```java
import java.util.*;
public class MacroCommand implements Command{

	ArrayList<Command> commandList;
	MacroCommand(ArrayList<Command> commandList)
	{
		this.commandList=commandList;
	}
	public void execute()
	{
		for(int k=0;k<=commandList.size();k++)
		{
			Command command=commandList.get(k);
			command.execute();
		}
	}
}

PrintEnglishCommand.java:

public class PrintEnglishCommand implements Command{

	PrintLetter letter;
	PrintEnglishCommand(PrintLetter letter)
	{
		this.letter=letter;
	}
	public void execute()
	{
		letter.printEnglish();
	}
}

PrintLetter.java:

public class PrintLetter {

	public void printEnglish()
	{
		for(char c='a';c<='z';c++)
		{
			System.out.print(""+c);
		}
	}
	public void printRussian()
	{
		for(char c='ф';c<='я';c++)
		{
			System.out.print(""+c);
		}
	}
}

PrintNumber.java:

public class PrintNumber {

	int n;
	PrintNumber(int n)
	{
		this.n=n;
	}
	public void printEvenNumber()
	{
		for(int m=1;m<=n;m++)
		{
			if(m%2==0)
			{
				System.out.print(""+m);
			}
		}
	}
}

PrintNumberCommand.java:

public class PrintNumberCommand implements Command{

	PrintNumber number;
	PrintNumberCommand(PrintNumber number)
	{
		this.number=number;
	}
	public void execute()
	{
		number.printEvenNumber();
	}
}

PrintRussianCommand.java:

public class PrintRussianCommand implements Command{

	PrintLetter letter;
	PrintRussianCommand(PrintLetter letter)
	{
		this.letter=letter;
	}
	public void execute()
	{
		letter.printRussian();
	}
}

RequestPerson.java:

public class RequestPerson {

	Command command;
	public void setCommand(Command command)
	{
		this.command=command;
	}
	public void startExecuteCommand()
	{
		command.execute();
	}
}

Application.java:

import java.util.*;
public class Application {

	public static void main(String[] args) {
		ArrayList<Command> list=new ArrayList<Command>();
		RequestPerson person=new RequestPerson();
		Command command1=new PrintEnglishCommand(new PrintLetter());
		Command command2=new PrintRussianCommand(new PrintLetter());
		Command command3=new PrintNumberCommand(new PrintNumber(20));
		list.add(command1);
		list.add(command2);
		list.add(command3);
		Command macroCommand=new MacroCommand(list);
		System.out.print("英文字母表");
		person.setCommand(command1);
		person.startExecuteCommand();
		System.out.print("%n用宏命令输出字母表,俄文1~20间字符:");
		person.setCommand(macroCommand);
		person.startExecuteCommand();
	}

}
公開された74元の記事 ウォン称賛25 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43191251/article/details/104915452