PTA 7-2 USB接口的定义(接口、接口变量、接口数组)

该博客介绍了如何使用Java实现USB接口,包括定义接口USB,创建Mouse和UPan类来实现接口,以及在Main类中通过接口变量和接口数组调用各个设备的工作和停止方法。此外,还讲解了接口变量、接口数组的声明、分配空间和遍历方法,展示了Java中数组的三种遍历方式。

7-2 USB接口的定义 (10 分)
定义一个USB接口,并通过Mouse和U盘类实现它,具体要求是:
1.接口名字为USB,里面包括两个抽象方法:
void work();描述可以工作
void stop(); 描述停止工作
2.完成类Mouse,实现接口USB,实现两个方法:
work方法输出“我点点点”;
stop方法输出 “我不能点了”;
3.完成类UPan,实现接口USB,实现两个方法:
work方法输出“我存存存”;
stop方法输出 “我走了”;

4测试类Main中,main方法中
定义接口变量usb1 ,存放鼠标对象,然后调用work和stop方法
定义接口数组usbs,包含两个元素,第0个元素存放一个Upan对象,第1个元素存放Mouse对象,循环数组,对每一个元素都调用work和stop方法。

输入格式:
输出格式:
输出方法调用的结果
输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:

我点点点
我不能点了
我存存存
我走了
我点点点
我不能点了

package item5;
interface USB{//两个抽象方法void work();void stop();
	void work();
	void stop();
}
class Mouse implements USB{//实现接口中的两个方法
	public void work() {
		System.out.println("我点点点");
	}
	public void stop() {
		System.out.println("我不能点了");
	}
}
class UPan implements USB{//实现接口中的两个方法
	public void work() {
		System.out.println("我存存存");
	}
	public void stop() {
		System.out.println("我走了");
	}
}
public class Main2 {
	public static void main(String[] args) {
	USB usb1;        //定义接口变量
	usb1=new Mouse();//接口变量中存放鼠标对象//也可写为USB usb1=new Mouse();
	
	usb1.work();     //变量调用两个方法
	usb1.stop();
	
	USB[] usbs;        //定义接口数组
	usbs=new USB[2];
	//USB[] usbs=new USB[2];第二种表示
	
	usbs[0]=new UPan();     //第一个元素存UPan
	usbs[1]=new Mouse();    //第二个元素存Mouse
	
	for(USB i:usbs) 
	//for(int i=0;i<usbs[2].length;i++);为什么这种出现错误
	
	{//循环数组,对每个对象都调用work和stop方法
		i.work();
		i.stop();
		}
	}
}

本题主要要用接口、接口的实现、接口变量、接口数组等一系列接口的应用
NEW THING
1.接口变量
2.接口数组

1.声明数据
语法:
数据类型 [ ] 数组名;
或 数据类型 数组名[ ] ;
例 : int[] scores;
2.分配空间:指定数组中最多可存储多少个元素
语法:
数组名=new 数据类型[数组的长度]scores=new int[5];
3.赋值
分配空间后就可以向数组放数据了,数组中的元素都是通过下标来访问的。
例:scores数组中存放学生数据
scores[0]=89;
scores[1]=79;
4.处理数组中的数据
对赋值后的数据进行操作和处理,如获取并输出数组中的元素的值
System.out.print(scores[0]);
举例:

USB[] usbs;        //定义接口数组 //或写为USB usbs[];
	usbs=new USB[2];
	//USB[] usbs=new USB[2];第二种表示
	
	usbs[0]=new UPan();     //第一个元素存UPan
	usbs[1]=new Mouse();    //第二个元素存Mouse

3.遍历数组的值
Java遍历数组有三种方法
1.(传统方法)

int a[]={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}

2.( 非传统方法)

int a[]={1,2,3,4,5};
for(int i:a){
System.out.println(i);
}

注:其中i的数据类型要和数组a的数据类型保持一致
3.(利用Arrays类中的toString() 方法)

int a[]={1,2,3,4,5};
System.out.println(Arrays.toString(a));
### Java PTA 7-5 四则运算计算器接口实现 以下是基于引用内容设计的一个完整的解决方案,用于实现四则运算计算器的功能。此方案定义了一个通用的 `ICompute` 接口,并通过多个具体类来实现不同的操作。 #### 定义 ICompute 接口接口包含一个抽象方法 `compute`,负责执行具体的计算逻辑。 ```java public interface ICompute { int compute(int a, int b); } ``` #### Add 类实现加法功能 实现了 `ICompute` 接口定义的方法,返回两数之和。 ```java public class Add implements ICompute { @Override public int compute(int a, int b) { return a + b; // 加法逻辑 [^1] } } ``` #### Sub 类实现减法功能 实现了 `ICompute` 接口定义的方法,返回两数之差。 ```java public class Sub implements ICompute { @Override public int compute(int a, int b) { return a - b; // 减法逻辑 [^1] } } ``` #### Mul 类实现乘法功能 实现了 `ICompute` 接口定义的方法,返回两数相乘的结果。 ```java public class Mul implements ICompute { @Override public int compute(int a, int b) { return a * b; // 乘法逻辑 [^2] } } ``` #### Div 类实现除法功能 实现了 `ICompute` 接口定义的方法,返回两数相除的结果。注意处理分母为零的情况。 ```java public class Div implements ICompute { @Override public int compute(int a, int b) { if (b == 0) throw new ArithmeticException("Division by zero is not allowed."); // 防止除以零错误 return a / b; } } ``` #### Main 主类 在主类中读取用户输入的数据,并调用不同类型的对象完成相应的计算。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入两个整数:"); int num1 = scanner.nextInt(); // 获取第一个整数 int num2 = scanner.nextInt(); // 获取第二个整数 [^1] // 创建各种运算的对象实例 ICompute addInstance = new Add(); ICompute subInstance = new Sub(); ICompute mulInstance = new Mul(); ICompute divInstance = new Div(); // 输出结果 System.out.printf("加法:%d + %d = %d\n", num1, num2, addInstance.compute(num1, num2)); // 调用加法 [^1] System.out.printf("减法:%d - %d = %d\n", num1, num2, subInstance.compute(num1, num2)); // 调用减法 System.out.printf("乘法:%d × %d = %d\n", num1, num2, mulInstance.compute(num1, num2)); // 调用乘法 try { System.out.printf("除法:%d ÷ %d = %d\n", num1, num2, divInstance.compute(num1, num2)); // 调用除法 } catch (ArithmeticException e) { System.out.println(e.getMessage()); // 处理异常情况 } scanner.close(); } } ``` 以上代码展示了如何使用接口机制构建灵活可扩展的四则运算框架。每种基本运算都由独立的具体类实现,便于维护与扩展其他复杂算法。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值