`
walker_v5
  • 浏览: 34526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 对String 加法计算

阅读更多
// 对两个字符串,不使用long,int等类型计算
 @Test
    public void jia(){
        String ax = "9234562343465434567";
        String bx = "1234567234563246754324567";

        char [] axArrs = ax.toCharArray();

        char [] bxArrs = bx.toCharArray();

        char [] tMax = axArrs.length> bxArrs.length?axArrs:bxArrs;//max
        char [] tMin = axArrs.length> bxArrs.length?bxArrs:axArrs;//min

        int len  = tMax.length - tMin.length;
        char [] tArrAppend = new char[len];
        char [] tMin2 = new char[tMin.length];

        System.arraycopy(tMax, 0, tArrAppend, 0, len);
        System.arraycopy(tMax, len, tMin2, 0, tMin2.length);


        int [] tMin3 = new int[tMin.length];
        boolean flag = false;
        for (int i=tMin.length-1;i>-1;i--){
            int count = Character.getNumericValue(tMin2[i])+Character.getNumericValue(tMin[i]) + (flag?1:0);
            int b1 = count;
            flag = count>9;
            if (flag){
                b1 = count % 10;
            }
            tMin3[i]= b1;
        }

        int [] t = new int[tArrAppend.length];
        for (int i=tArrAppend.length-1;i>-1;i--){
            int count = Character.getNumericValue(tArrAppend[i])+ (flag?1:0);
            int b1 = count;
            flag = count>9;
            if (flag){
                b1 = count % 10;
            }
            t[i] = b1;
        }

        int [] result = new int[tMax.length+ (flag?1:0)];
        if (flag){
            result[0] = 1;
        }
        System.arraycopy(t,0,result,(flag?1:0),t.length);
        System.arraycopy(tMin3,0,result,t.length+(flag?1:0),tMin3.length);

        System.out.println(ax+"\t+\t" +bx+ "\t=\t"+ Arrays.toString(result).replaceAll("[\\[,\\]\\s*]",""));
    }

 

0
1
分享到:
评论
2 楼 walker_v5 2016-04-11  
QuarterLifeForJava 写道
貌似带小数点的计算不行啊,还有只支持加法?

数字都已经这么大了,乘法没有意义了吧。
1 楼 QuarterLifeForJava 2015-08-12  
貌似带小数点的计算不行啊,还有只支持加法?

相关推荐

    Java计算器的加法实现

    在Java编程语言中,实现一个简单的计算器来执行加法操作是一项基础任务,它涉及到基本的算术运算和控制流程。本篇文章将详细讲解如何在Java中实现加法计算器。 首先,我们需要了解Java中的数据类型,特别是`int`...

    一个用JAVA语言编写的加法计算器

    在本项目中,我们有一个用JAVA语言编写的加法计算器,它利用了SWING库来构建用户界面,实现了一个基本的加法运算功能。 SWING是Java的标准GUI(图形用户界面)库,提供了丰富的组件集合,用于创建桌面应用程序。在...

    Java 精确计算-double-float-String

    在Java编程中,进行精确计算是一项重要的任务,尤其是在金融、会计等对精度要求极高的领域。标题中的"Java 精确计算 - double-float-String"指向的是Java中处理浮点数(double和float)以及字符串表示的数值时可能...

    Java实现的浮点类的精确计算

    为了克服这个问题,Java提供了`java.math.BigDecimal`类,它提供了一种方法来进行高精度的十进制计算,从而避免浮点运算中的精度问题。 描述中的"Java实现的浮点类的精确计算"很可能就是指一个自定义的工具类,该类...

    java实现加法 简单的小例子

    本示例通过简单的GUI界面实现了两个数字的加法运算,并展示了如何使用Java AWT库来创建图形用户界面以及如何处理用户事件。对于初学者来说,这是一个很好的实践案例,可以帮助他们理解基本的Java编程概念以及GUI编程...

    加法计算器 java实现的

    ### Java 实现加法计算器知识点解析 ...综上所述,这个Java加法计算器项目不仅展示了基本的编程技巧,如用户界面设计、数学计算、条件判断等,还具有一定的教育意义,可以帮助初学者掌握Java编程的基础知识。

    java 公式计算汇总,直接调用其方法即可进行运算

    标题“java 公式计算汇总,直接调用其方法即可进行运算”所描述的,就是这样一个方便的工具集合,它包含了加减乘除基本运算以及正弦、余弦等科学计算功能。 1. **基础数学运算**: - 加法:在Java中,可以使用`+`...

    Java实现任意进制的转换

    这里的关键是将36进制数转换为十进制数组进行加法运算,然后将结果再次转换回36进制。 以上就是Java实现任意进制转换的方法,包括二进制转十六进制、十进制转任意进制以及36进制加法。理解这些概念和方法,对于理解...

    计算string类型算式的结果

    `execute.java`可能包含了主函数和调用逻辑,而`string.java`则可能包含了字符串解析和计算的核心功能。这两个文件的交互是通过调用方法和返回值来实现的。 8. **性能优化**:对于大量表达式的计算,我们还可以考虑...

    Java算术表达式计算类库 ExpressionJ

    它可以处理包含加法、减法、乘法、除法、括号以及各种运算优先级的表达式。例如,`2 * (3 + 4)` 这样的表达式可以被正确解析并计算出结果。 ### 2. 支持变量与常量 ExpressionJ允许在表达式中使用变量。这些变量...

    java.四则运算器

    在Java编程语言中,四则运算器是一种程序,它能够执行基本的数学操作,包括加法(+)、减法(-)、乘法(*)和除法(/)。这类程序通常用于教学目的,以帮助初学者理解如何在Java中处理数字和运算。在这个“java.四...

    简单的JAVA四则运算

    在计算机编程中,四则运算是最基本的数学运算之一,主要包括加法(`+`)、减法(`-`)、乘法(`*`)与除法(`/`)。对于Java这样的面向对象语言而言,实现四则运算不仅涉及到基本的数据类型操作,还需要考虑到运算顺序以及...

    加法_算两个数的加法_

    在这个Java示例中,我们使用`Scanner`类来读取用户的输入,然后同样利用`+`运算符进行加法运算。 对于更复杂的情况,例如在处理大数据或高精度计算时,可能需要使用特定的库或数据结构,如Java的`BigDecimal`类或...

    java随机数加法

    在Java编程语言中,生成随机数并进行加法运算是一项基础但重要的技能,尤其是在开发涉及概率计算、模拟或游戏逻辑的程序时。本教程将详细解释如何在Java中生成随机数以及如何执行加法操作。 首先,让我们了解如何在...

    java实现的四则运算

    在Java编程语言中,四则运算(加法、减法、乘法和除法)是基本的操作,它们在各种计算和逻辑处理中扮演着至关重要的角色。本项目旨在通过Java实现这些基本运算,并提供了一个强大的工具,对于学习和理解Java编程的...

    java复数四则运算

    本实例主要探讨如何利用Java的多态性来实现复数的四则运算,即加法、减法、乘法和除法。以下我们将详细讲解这个主题。 首先,我们需要创建一个`ComplexNumber`类来表示复数。这个类至少有两个属性:`double real`...

    用Java编写的四则运算器

    四则运算器是计算机科学中最基本的计算工具,能够进行加法、减法、乘法和除法操作。 首先,`Calc.java` 文件是这个项目的源代码文件,它包含了实现四则运算功能的主要逻辑。在Java中,一个`.java` 文件对应一个类,...

    Java实验报告Java写的计算器

    【实验报告概述】 本实验报告主要涉及的是一份使用Java编程语言实现的简单...通过这样的实践,学生不仅加深了对Java语法的理解,还掌握了事件处理和布局管理等核心概念,为进一步学习和应用Java奠定了坚实的基础。

    Java Double相加出现的怪事

    在《Effective Java》这本书中也提到这个原则,float 和 double 只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal。BigDecimal 一共有 4 个够造方法,我们可以使用 BigDecimal(double ...

Global site tag (gtag.js) - Google Analytics