使用Stack堆栈集合大数据运算

package com.sta.to;

import java.util.Iterator;
import java.util.Stack; public class DaMax { public void jiaFa(String value1, String value2) { /**
* 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com * @author 小沫
*/ // 把字符串用toCharArray拆成字符
char[] c1 = value1.toCharArray();
char[] c2 = value2.toCharArray(); // 申请好2个Stack集合准备把字符放进去
Stack numvalue1 = new Stack();
Stack numvalue2 = new Stack();
// 进栈
for (char c : c1) {
numvalue1.push(c);
}
for (char c : c2) {
numvalue2.push(c);
}
//new好一个缓存池,接收sum
StringBuffer buffer = new StringBuffer();
int jw = 0;//进位
//用常用类Math获取最长的长度
int count = Math.max(c1.length, c2.length); //把长的拿来循环
for (int i = 0; i < count; i++) {
//用来存放出栈的值
int num1;
int num2;
//每一次出栈的值转为int 才能进行运算
try {
num1 = Integer.parseInt(numvalue1.pop().toString());
} catch (Exception e) {
num1 = 0;//如果异常那就抛出0
}
try {
num2 = Integer.parseInt(numvalue2.pop().toString());
} catch (Exception e) {
num2 = 0;
}
//把num1和num2引用的值加上jw交给sum
int sum = num1 + num2 + jw;
if (sum >= 10) {
//sum大于或等于10 那就要先前一位数进1
jw = 1;
buffer.append(sum % 10);//把总和用取摸后的余数放进缓冲池
} else {
jw = 0;//不大于或等于10 jw就为0 直接把总和交给缓冲池
buffer.append(sum);
}
}
if (jw == 1) {
//问jw还等不等于1,还等于说明最前位数需要多个1 如 99+1=100
buffer.append(1);
}
buffer.reverse();// 把数值反过来
System.out.println(buffer);
}
}

测试类:

package com.sta.to;

import java.nio.Buffer;

public class Test {

	public static void main(String[] args) {

		DaMax ys = new DaMax();

		ys.jiaFa("10", "5");//10+5
ys.jiaFa("15", "50");//15+50
ys.jiaFa("999999999999999", "1");//999...+1
ys.jiaFa("99", "1");//99+1
ys.jiaFa("80", "80");//80+80
ys.jiaFa("8", "7");//8+7
}
}

使用Stack堆栈集合大数据运算的更多相关文章

  1. 大数据运算模型 MapReduce 原理

    大数据运算模型 MapReduce 原理 2016-01-24 杜亦舒 MapReduce 是一个大数据集合的并行运算模型,由google提出,现在流行的hadoop中也使用了MapReduce作为计 ...

  2. 基本类型包装类、System类、Math类、Arrays类、大数据运算

    1 基本类型包装类 Java中想对8种基本数据类型进行复杂操作很困难. 实际程序界面上用户输入的数据都是以字符串类型进行存储的. 程序开发中,需要把字符串转换成指定的基本数据类型. 1.1基本数据类型 ...

  3. Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器

    基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...

  4. 17_常用API_第17天(包装类、System、Math、Arrays、大数据运算)_讲义

    今日内容介绍 1.基本类型包装类 2.System类 3.Math类 4.Arrays类 5.大数据运算 01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 ...

  5. 7、包装类、System、Math、Arrays、大数据运算

    基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...

  6. JAVA基础之基本类型包装类、System类、Math类、Arrays类及大数据运算

    个人理解: 为了方便运算及调用一些方法,我们需要将基本类型的数值转换为对象:不过转换的时候需要特别注意好它们的类型到底是什么,需要调用方法的类名是哪个!特别注意是Byte常量池的相关问题(==):gc ...

  7. 常用API(包装类、System、Math、Arrays、大数据运算)

    常用API 今日内容介绍 u 基本类型包装类 u System u Math u Arrays u BigInteger u BigDecimal 第1章 基本类型包装类 大家回想下,在第二天我们学习 ...

  8. java基础(17):包装类、System、Math、Arrays、大数据运算

    1. 基本类型包装类 大家回想下,在第三篇文章中我们学习Java中的基本数据类型时,说Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢? 1.1 基本类型 ...

  9. Elastic Stack 开源的大数据解决方案

    目的 本文主要介绍的内容有以下三点: 一. Elastic Stack是什么以及组成部分 二. Elastic Stack前景以及业务应用 三. Elasticsearch原理(索引方向) 四. El ...

随机推荐

  1. profiler内存优化:警惕回调函数

    最近做profiler内存优化,踩了一个深坑,觉得有必要做一下笔记. 过程是这样的,游戏启动后,会启动更新模块,加载更新界面,更新检测完成后会切换场景进入登陆界面.切换场景会自动释放上一个场景的资源. ...

  2. BOM(1)

    BOM 浏览器对象模型(Browser Object Model),使浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". 浏览器对象模型(Browser ...

  3. 深入研究React setState的工作机制

    前言 上个月发表了一篇 React源码学习--ReactClass,但是后来我发现,大家对这种大量贴代码分析源码的形式并不感冒.讲道理,我自己看着也烦,还不如自己直接去翻源码来得痛快.吸取了上一次的教 ...

  4. discuz用户登录不响应,提示nginx gateway timeout解决方法

    在使用nginx+php-cgi搭建discuz论坛过程中,出现论坛登录不响应,一直提示nginx gateway timeout504网关超时,单单采用php方式登录无问题.但因需要使用nginx把 ...

  5. Mac 上Python多版本切换

    Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版 ...

  6. 下载旧版chrome

    问题描述: xp只能使用chrome 49及其之前的版本,去哪里下载? 解决办法: 1. 在这里 http://www.slimjet.com/chrome/google-chrome-old-ver ...

  7. 用nrm一键切换npm源

    当使用官方npm源安装各种包比较慢的时候,建议修改npm源地址 查看npm源地址,在终端输入以下命令 npm config list 会看到官方的npm源 metrics-registry = &qu ...

  8. salesforce零基础学习(七十四)apex:actionRegion以及apex:actionSupport浅谈

    我们在开发中,很难会遇见不提交表单的情况.常用的apex:commandButton,apex:commandLink,apex:actionFunction,apex:actionSupport.他 ...

  9. uwp版的音乐播放器练手

    UWP项目之音乐播放器 这个项目本来是我女朋友的一个小作业,她做不出来,结果只能是我来代劳.经过几天的时间虽然赶出来了,但是自己不是很满意,还有很多不满意的地方,因此决定在最近的一段时间内,重新完成. ...

  10. linux 下载文件到本地磁盘的命令是什么

    linux下可以直接运行命令下载或上传文件1.检查并安装相应的包:yum install lrzsz2.使用 sz 文件名 现在相应的文件到本地磁盘.3.上传使用rz 选择相应文件即可.