java接口作业——万能打印程序
没实现具体操作,就很抽象的。。。阿巴阿巴看看就好。
package Allprint;
//打印接口
public interface Print {
public void ready_to_print();//准备打印
public void printing();//正在打印
public void print_end();//打印结束
public void addpt();
}
package Allprint;
//适配器
public abstract class Print_USB implements Print{
//准备打印
public void ready_to_print()
{
}
//正在打印
public void printing()
{
}
//打印完毕
public void print_end()
{
}
//添加文件
public void addpt()
{
}
}
package Allprint;
//Word 文件类型
public class Word extends Print_USB{
public void ready_to_print()
{
System.out.println("Word文档准备打印");
}
public void printing()
{
System.out.println("Word 文档正在打印中");
}
public void print_end()
{
System.out.println("Word文件打印完毕");
}
public void addpt()
{
System.out.println("Word文件加入打印队列");
}
}
package Allprint;
//Pdf 文件类型
public class Pdf extends Print_USB{
public void ready_to_print()
{
System.out.println("PDF文件准备打印");
}
public void printing()
{
System.out.println("PDF文件正在打印中");
}
public void print_end()
{
System.out.println("PDF文件打印完毕");
}
public void addpt()
{
System.out.println("PDF文件加入打印队列");
}
}
package Allprint;
//XLS 文件类
public class Xls extends Print_USB{
public void ready_to_print()
{
System.out.println("XLS文件准备打印");
}
public void printing()
{
System.out.println("XLS文件正在打印中");
}
public void print_end()
{
System.out.println("XLS文件打印完毕");
}
public void addpt()
{
System.out.println("Xls文件加入打印队列");
}
}
package Allprint;
//操作的电脑
public class Computer {
private Print[] ptt=new Print[200];
private int Print_num=0;
public void add(Print pt)
{
Print_num++;
ptt[Print_num]=pt;
pt.addpt();
}
//查询准备打印的文件
public void ck_ready_to_print()
{
for(int i=0;i<ptt.length;i++)
{
if(ptt[i]!=null)
{
ptt[i].ready_to_print();
}
}
}
//查询正在打印的文件
public void ck_printing()
{
for(int i=0;i<ptt.length;i++)
{
if(ptt[i]!=null)
{
//正在打印
ptt[i].printing();
//其他函数....
//结束打印
ptt[i].print_end();
break;//只找到现在打的一份即可
}
}
}
//查询目前有多少文件等待打印
public void wait_num(int a)
{
if(a==1)
{
System.out.println("目前有 "+Print_num+" 份文件等待打印");
ck_ready_to_print();
}
else
{
System.out.println("目前打印文件是");
ck_printing();
}
}
}
package Allprint;
import java.util.Scanner;
//测试类
public class Tsxt {
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer p=new Computer();
Scanner input= new Scanner(System.in);
while(true)
{
System.out.println("选择操作编号");
System.out.println("查询目前打印文件(1) 添加打印文件(2)");
int n=input.nextInt();
switch(n)
{
case 1:
{
System.out.println("查询打印队列(1)查询目前打印文件(2)");
int cs1=input.nextInt();
p.wait_num(cs1);break;
}
case 2:
{
System.out.println("填写要添加的文件序号");
System.out.println("Word(1) Pdf(2) Xls(3)");
int cs2=input.nextInt();
switch(cs2)
{
case 1:p.add(new Word());break;
case 2:p.add(new Pdf());break;
case 3:p.add(new Xls());break;
}
}
}
}
}
}
转载:https://blog.csdn.net/m0_46288176/article/details/115282736
查看评论