使用Stack堆棧集合大資料運算

來源:互聯網
上載者:User

標籤:

使用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堆棧集合大資料運算

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.