您的位置:首页 > 汽车 > 新车 > JAVA 手机部件功耗计算

JAVA 手机部件功耗计算

2024/10/21 19:47:03 来源:https://blog.csdn.net/xxn66666666/article/details/141807162  浏览:    关键词:JAVA 手机部件功耗计算

手机由芯片、分离元件等部件组成,编程计算手机所含部件的总功耗。

要求如下:

1.创建一个 ComputePower接口,接口中有方法:double computePower();

2.创建两个类 Chip、Discrete,这些类都实现了 ComputePower 接口,能够提供功耗。其中,Chip 的功耗为 16.6 w、Discrete 的功耗为 40.0 w。

3.创建一个 Phone 类,私有成员变量 parts 是一个 ComputePower 类型的数组,包含了该手机上的所有部件,公有方法 getTotalPower() 返回 parts 中所有部件的功耗之和。

方法定义:
double computePower();
double getTotalPower();

裁判测试程序样例:

 
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int choice = -1;choice = input.nextInt();//以下为检查类体系的裁判代码......//以上为检查类体系的裁判代码int n = input.nextInt();//输入部件数量ComputePower[] parts = new ComputePower[n]; //创建部件数组//按部件类型号,对数组赋值int type;for (int i = 0; i < parts.length; i++) {type = input.nextInt(); //输入类型号if (type == 1)parts[i] = new Chip();//类型 1:芯片else if (type == 2)parts[i] = new Discrete();//类型 2:分离元件}Phone phone = new Phone(parts);//创建手机对象System.out.printf("手机的总功耗:%8.2f w", phone.getTotalPower());}
}/* 请在这里填写答案 */

输入格式:
部件数量
部件类型编号

注意:各种部件的编号为:Chip:1 , Discrete:2

输出格式:
手机的总功耗: xxx.xx w

输入样例:

0
5
1 2 2 1 1

输出样例:

手机的总功耗:  129.80 w

 

interface ComputePower{double computePower();
}
class Chip implements ComputePower{@Overridepublic double computePower(){return 16.6;}
}
class Discrete implements ComputePower{@Overridepublic double computePower(){return 40.0;}
}
class Phone{private ComputePower[] parts ;public Phone(ComputePower[] parts) {  this.parts = parts;  }  public double getTotalPower(){double sum=0;for(int i=0;i<parts.length;i++){sum+=parts[i].computePower();}return sum;}}

1.接口的实现类里面的方法前面要有public,但是接口里面的方法可以没有。

2.error: constructor Phone in class Phone cannot be applied to given types; Phone phone = new Phone(parts);//创建货车对象(装载货物) ^ required: no arguments found: ComputePower[] reason: actual and formal argument lists differ in length 1 error

这个错误提示说明 Phone 类的构造函数不接受任何参数,但你尝试在创建 Phone 对象时传递了一个 ComputePower[] 类型的参数。这意味着你的 Phone 类中没有定义接收 ComputePower[] 参数的构造函数。

为了解决这个问题,你需要在 Phone 类中添加一个接受 ComputePower[] 参数的构造函数。

public Phone(ComputePower[] parts) {  this.parts = parts;  }  

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com