输入一个字符串(例如:3+6-3*4/2,运算符只有 + - * / 四个),计算结果。不考虑加减乘除优先级,从左往右计算

这是自己面试遇到的面试题,考Java基础,String。考的很基础,但是String确实java中很重要的基础部分。

题目:

输入一个字符串(例如:3+6-3*4/2,输出12。运算符只有 + - * / 四个),计算结果。不需要考虑加减乘除优先级,从左往右计算

import java.util.Scanner;

public class interview01 {
    public static void main(String[] args) {
        //示例  3+6-3*4/2 输出 12
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        int a = 0;
        int count = 0;
        String z = null;
        for (int i = 0; i < str.length(); i++) {
            if (i==0){
                a = Integer.parseInt(String.valueOf(str.charAt(i)));
                count =a ;
                continue;
            }else if (i%2!=0){
                z = String.valueOf(str.charAt(i));
            } else if (i%2==0) {
                a = Integer.parseInt(String.valueOf(str.charAt(i)));
                if (z.equals("+")){
                    count = count + a;
                }else if (z.equals("-")){
                    count = count - a;
                }else if (z.equals("*")){
                    count = count * a;
                }else if (z.equals("/")){
                    count = count / a;
                }
            }
        }
        System.out.println(count);
    }
}

这只是自己的一种答案。如果兄弟们还有其他想法欢迎分享。大家一起学习一起进步。

posted @ 2023-03-17 20:35  智昊  阅读(21)  评论(0)    收藏  举报