Java给定字符串形式的非负数,返回两个非负数的乘积

/* 给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。*/
方法一:
public class Test5Case2 {
    public static void main(String[] args) {
        /* 给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。
        注意:需要用已有的知识完成。*/
        //int类型的数据,定义字符串时,结果不要超过int的大小
        String num1 = "12345";
        String num2 = "12345";
        //调用方法,利用整数进行相乘
        int a = getInt(num1);
        int b = getInt(num2);
        System.out.println(a);
        System.out.println(b);
        int product = a * b;
        //把整数变成字符串
        //StringBuilder
        StringBuilder sb = new StringBuilder();
        String result = sb.append(product).toString();
        System.out.println(result);
    }
    //把num1和num2变成对应的整数才可以进行乘积
    //"12345"
    //先遍历字符串依次得到每一个字符 '1'  '2'  '3'  '4'  '5' 
    //再把字符变成对应的数字即可     1    2    3     4    5 
    //把每一个数字组合到一起 12345
    public static int getInt(String num){
        int number = 0;
        for (int i = 0; i < num.length(); i++) {
            char c = num.charAt(i);
            int cNum = c - 48;
            number = number * 10 + cNum;
        }
        return number;
    }
}

运行结果:

方法二:

public class Test5Case1 {
    public static void main(String[] args) {
        /* 给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。
        注意:需要用已有的知识完成。*/

        //不需要考虑乘积过大之后的结果
        //就认为乘积一定是小于int的最大值的
        String num1 = "3";
        String num2 = "4";

        //1.把num1和num2变成对应的整数才可以
        //"123456789"
        //先遍历字符串依次得到每一个字符 '1'  '2'  '3'  '4'  '5'  '6'  '7'  '8'  '9'
        //再把字符变成对应的数字即可     1    2    3     4    5    6    7    8    9
        //把每一个数字组合到一起 123456789
        int number1 = 0;
        int number2 = 0;
        for (int i = 0; i < num1.length(); i++) {
            char c1 = num1.charAt(i);
            int c1Num = c1 - 48;
            number1 = number1 * 10 + c1Num;
        }
        for (int i = 0; i < num2.length(); i++) {
            char c2 = num2.charAt(i);
            int c2Num = c2 - 48;
            number2 = number2 * 10 + c2Num;
        }
        System.out.println(number1);
        System.out.println(number2);
        

        //2.利用整数进行相乘
        int product = number1 * number2;


        //3.可以把整数变成字符串
        //+""
        StringBuilder sb = new StringBuilder();
        String result = sb.append(product).toString();
        System.out.println(result);

    }
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值