日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

九度OJ 1019

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九度OJ 1019 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

看到這道題網上給的解答都比較繁瑣,想了個想到一個簡便方法。

?

首先定義一個數組棧stack[],然后掃描算術表達式,遇到“+”則將“+”后面的數壓棧,遇到“-”則將“-”后面的數乘以“-1.0”后入棧。

遇到“*”或者“/”后,將“*”“/”前后的數做乘除運算后覆蓋壓棧(覆蓋乘除號前入棧的那個數)。

最后將整個棧中的數相加即為最終結果。java代碼如下:

?

import?java.text.DecimalFormat; import?java.util.ArrayList; import?java.util.List; import?java.util.Scanner; /**?*?@author:?pricker*?*/ public?class?item1019?{/***?@param?args*/public?static?void?main(String[]?args)?{//?TODO?Auto-generated?method?stubScanner?scan?=?new?Scanner(System.in);String?input;List<String>?result?=?new?ArrayList<String>();while(!(input?=?scan.nextLine()).equals("0")){result.add(caculate(input));}for(int?i=0;i<result.size();i++){System.out.println(result.get(i));}}public?static?String?caculate(String?input){String[]?inputArray?=?input.split("?");int?len?=?1001;double[]?stack?=?new?double[len];int?tail?=?0;stack[0]?=?Double.valueOf(inputArray[0]);for(int?i=1;i<inputArray.length;i++){?????if(inputArray[i].equals("+")){stack[++tail]?=?Double.valueOf(inputArray[++i]);}else?if(inputArray[i].equals("-")){stack[++tail]?=?-1.0*Double.valueOf(inputArray[++i]);}else?if(inputArray[i].equals("*")){stack[tail]?=?stack[tail]*Double.valueOf(inputArray[++i]);}else?if(inputArray[i].equals("/")){stack[tail]?=?stack[tail]/Double.valueOf(inputArray[++i]);}???}double?result?=?0.0;for(int?i=0;i<=tail;i++){result?+=?stack[i];}DecimalFormat?df?=?new?DecimalFormat("0.00");return?df.format(result);} }

?

轉載于:https://my.oschina.net/u/2400412/blog/552421

總結

以上是生活随笔為你收集整理的九度OJ 1019的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。