華為上機練習題--簡單加減運算式計算

來源:互聯網
上載者:User

題目:

通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程式輸出運算結果字串。
輸入字串的格式為:“運算元1 運算子 運算元2”,“運算元”與“運算子”之間以一個空格隔開。

補充說明:
1、運算元為正整數,不需要考慮計算結果溢出的情況。
2、若輸入算式格式錯誤,輸出結果為“0”。

要求實現函數:
void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);

【輸入】 pInputStr:  輸入字串
            lInputLen:  輸入字串長度        
【輸出】 pOutputStr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函數功能演算法,中間不需要有任何IO的輸入輸出

樣本
輸入:“4 + 7”  輸出:“11”
輸入:“4 - 7”  輸出:“-3”
輸入:“9 ++ 7”  輸出:“0” 註:格式錯誤


分析:先分割字串,分別取得兩個運算元和一個運算子, 然後再做一些非法判斷, 最後進行運算操作;


代碼如下:

package com.wenj.test;

/**
 *
 * @author wenj91-PC
 *
 */

public class TestArithmetic {

    public static void main(String args[]){
        String strIn = "9 ++ 7";
        TestArithmetic ta = new TestArithmetic();
        System.out.println(ta.arithmetic(strIn));
    }
    
    public int arithmetic(String strIn){
        String strTemp = strIn;
        String[] strArr = strTemp.split(" ");
        int a, b;
        try{
            a = Integer.parseInt(strArr[0]);
            b = Integer.parseInt(strArr[2]);
        }catch(Exception e){
            return 0;
        }
        
        String mid = strArr[1];
        char[] strC = mid.toCharArray();
        if(strC.length > 1){
            return 0;
        }
        
        switch(strC[0]){
        case '+':
            return (a+b);
        case '-':
            return (a-b);
        default:
            return 0;
        }
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.