当前位置: 首页 > article >正文

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{
    @Override
    public double computePower()
    {
        return 16.6;
    }
}
class Discrete implements ComputePower{
    @Override
    public 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;  
    }  


http://www.kler.cn/news/288757.html

相关文章:

  • 魅力中国:全球消费者 “反向海淘” 首选,淘宝代购集运系统搭建秘籍
  • 趣味算法------单一背包问题(01背包问题)贪心算法解决
  • 安防视频综合管理系统EasyCVR视频汇聚平台集群部署出现状态不同步的情况是什么原因?
  • 遥控器显示分别对应的无人机状态详解!!
  • VUE2.0 elementUI el-input-number 数据更新,视图不更新——基础积累
  • 使用idea快速创建springbootWeb项目(springboot+springWeb+mybatis-Plus)
  • 2.SpringBoot项目pom.xml文件配置
  • 【安卓面试】
  • 科学高效的FPGA编程方法
  • 从0到DevOps(1)-初步了解DevOps和容器
  • Nginx集成第三方负载均衡模块:配置指南与实践
  • 正则表达式模块re及其应用
  • 在K8s上运行GitHub Actions的自托管运行器
  • Swift 可选类型
  • 快速入门Pytorch
  • 搭子小程序开发,让社交更加有趣
  • AI赚钱成功案例|像素级拆解一键生成提示词 文生图 图生视频
  • Python 多目标跟踪-匈牙利算法
  • ArcGIS Pro SDK (十二)布局 7 组元素
  • Java算法之LRUCache缓存实现
  • 关于武汉芯景科技有限公司的A/D转换芯片XJ3021开发指南(兼容MCP3021)
  • 如何在已安装的最小化银河麒麟高级服务器操作系统上安装图形化界面
  • rtsp服务器逻辑
  • 学习react day01
  • C 语言都有哪些标准版本?
  • @RequestParam对于请求的影响
  • JVM类加载机制与双亲委派模型解析
  • AI大模型之旅-本地安装llm工具dify 和 fastgpt
  • 深度学习100问46:什么是Dropout
  • Unity SceneView 相机聚焦到指定位置