2020-10-26 闲鱼接到一单编程题,做下来发现对一些包装类的使用,还不是很熟练,特做存档

题目描述:

实现以一个RGB字符串(如:rgb(0, 50, 255) ),按24位数字对齐后输出对应的 Integer 型数字,r位在高位,b位在低位。

例如:输入“rgb(0, 50, 255)”,输出13055

又如:输入“rgb(192,  192,  192)”,输出12632256

思路:

将r、g、b三个数分别转化成2进制,然后按照 r 为高位, b 为低位的顺序拼接,得出一个24位的二进制字符串,然后在转化成10进制数并返回。

主要考察:

1、使用正则表达式从字符串中获取到准确的十进制数字

2、使用包装类将十进制数转换成二进制字符串

3、使用字符串按顺序拼接,并在使用包装类转化成题目要返回的十进制数

 

代码(当时赶时间写的,后面没有太多整理,纯粹当做一个上述思路实现的参考):

package com.chensr.test1;

import java.util.Arrays;
import java.util.List;


/**
 * @description:
 * @author: 淡
 * @createDate: 2020-10-25 20:02
 * @version: 1.0
 */
public class test {

     public static void main (String[] arg){
        String dd = "rgb(192, 192, 192)";
        test test = new test();
        System.out.println(test.change1(dd));
    }

    public int change1(String dd){
        // String dd = "字(2014)第QD0023号";
        System.out.println(dd = dd.replaceAll("\\D", "_").replace("_+", "_"));
        String[] as = dd.split("_+");
        System.out.println(Arrays.asList(as));
        int a=0;
        int b=0;
        int c=0;
        List<String> list = Arrays.asList(as);

        a = Integer.parseInt(list.get(1));
        b = Integer.parseInt(list.get(2));
        c = Integer.parseInt(list.get(3));

//        System.out.println(Integer.toBinaryString(a));
//        System.out.println(Integer.toBinaryString(b));
//        System.out.println(Integer.toBinaryString(c));

        StringBuffer stringBuffer1 = new StringBuffer();
        StringBuffer stringBuffer2 = new StringBuffer();
        StringBuffer stringBuffer3 = new StringBuffer();
        StringBuffer stringBuffer4 = new StringBuffer();
        for(int t = 0; t<8-Integer.toBinaryString(a).length(); t++){
            stringBuffer1.append(0);
        }
        //System.out.println(stringBuffer1.append(Integer.toBinaryString(a)));

        for(int t = 0; t<8-Integer.toBinaryString(b).length(); t++){
            stringBuffer2.append(0);
        }
//        System.out.println(stringBuffer2.append(Integer.toBinaryString(b)));

        for(int t = 0; t<8-Integer.toBinaryString(c).length(); t++){
            stringBuffer3.append(0);
        }
//        System.out.println(stringBuffer3.append(Integer.toBinaryString(c)));

        stringBuffer4.append(stringBuffer1.append(Integer.toBinaryString(a)));
        stringBuffer4.append(stringBuffer2.append(Integer.toBinaryString(b)));
        stringBuffer4.append(stringBuffer3.append(Integer.toBinaryString(c)));
//        System.out.println(stringBuffer4);


        return Integer.parseInt(stringBuffer4.toString(),2);
    }
}

 

好的,以下是使用StarUML绘制App用例图的步骤和示例: ### 步骤: 1. **启动StarUML**:打开StarUML软件。 2. **创建新项目**:选择“文件” -> “新建” -> “用例图”。 3. **添加参与者(Actors)**: - 点击工具栏中的“参与者”图标,然后在画布上点击添加参与者。 - 添加“用户”作为主要参与者。 4. **添加用例(Use Cases)**: - 点击工具栏中的“用例”图标,然后在画布上点击添加用例。 - 添加“登录”、“浏览商品”、“发布商品”、“购买商品”、“聊天”、“评价”等用例。 5. **连接参与者和用例**: - 使用工具栏中的“关联”工具,将“用户”与各个用例连接起来。 6. **添加系统边界**: - 使用工具栏中的“系统边界”工具,绘制个矩形,将所有用例包围起来,表示系统的边界。 7. **保存和导出**: - 选择“文件” -> “保存”,将用例图保存为StarUML项目文件。 - 选择“文件” -> “导出”,将用例图导出为图片或其他格式。 ### 示例用例图: ```plaintext +---------------------+ | App | | | | +-------------+ | | | 用户 | | | +-------------+ | | | | | | | | +-------------+ | | | 登录 | | | +-------------+ | | | | | +-------------+ | | | 浏览商品 | | | +-------------+ | | | | | +-------------+ | | | 发布商品 | | | +-------------+ | | | | | +-------------+ | | | 购买商品 | | | +-------------+ | | | | | +-------------+ | | | 聊天 | | | +-------------+ | | | | | +-------------+ | | | 评价 | | | +-------------+ | +---------------------+ ``` ### 说明: - **用户**:系统的唯参与者,使用App的普通用户。 - **登录**:用户通过登录功能进入系统。 - **浏览商品**:用户可以浏览平台上的商品。 - **发布商品**:用户可以发布自己的商品进行销售。 - **购买商品**:用户可以购买平台上的商品。 - **聊天**:用户可以与卖家或其他用户进行在线聊天。 - **评价**:用户可以对购买的商品进行评价。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值