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

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

时间:2023-03-17 20:45:08浏览次数:34  
标签:count 优先级 String equals else 运算符 str 从左往右

这是自己面试遇到的面试题,考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);
    }
}

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

标签:count,优先级,String,equals,else,运算符,str,从左往右
From: https://www.cnblogs.com/C-zhihao/p/17228100.html

相关文章

  • C 语言运算符优先级
    说明:同一优先级的运算符,运算次序由结合方向所决定。简单记就是:!>算术运算符>关系运算符>&&>||>赋值运算符......
  • 按位运算符
    按位运算符指定a=60(00111100);b=13(00001101)按位与(&)对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1,如下图:(a&b)结......
  • 【Java笔记5】运算符
    @目录一.算术运算符二.赋值运算符三.比较运算符四.逻辑运算符五.三元运算符六.运算符的优先级七.字符串拼接字符串字符串拼接运算一.算术运算符运算符说明......
  • 运算符
    1、算术运算符1.1、+(加)、-(减)、*(乘)、/(除)、%(余)这里的%只能是整数运算,不然会报错,如下#include<stdio.h>intmain(){inta=2,b=5,c,d;floataa=......
  • Python 的is运算符和==运算符
    Python的is运算符和==运算符Python比较两个对象是否相同有两个运算符,本文介绍它们的异同。简单说,is比较的是内存地址是否相同,==比较值是否相同,并可以自定义。......
  • 05-运算符三元,包机制
    一、三元运算符a?b:ca是条件判断b是为真的输出c是为假的输出二、包机制一般利用公司域名倒置作为报名。例如百度:www.baidu.com包:com.baidu.www为了更好地组织类,包......
  • 三元运算符
    /***x?y:z*如果x==true则返回y否则结果为z*/publicstaticvoidmain(String[]args){intscore=50;Stringstype=sc......
  • 04 Golang 运算符
    一、算术运算符运算符描述+相加-相减*相乘/相除%求余代码示例:1packagemain2​3import"fmt"4​5funcmain(){6//......
  • 线程休眠、线程优先级、守护线程
    publicclassThreadDemo{//线程调度分为两种:分时调度模型和抢占式调度模型//分时调度模型:所以线程轮流使用cpu,平均分配每个线程使用cpu的时间//抢占......
  • Android 近期关注的文章和内容位运算符使用场
    App启动流程分析 ​​https://zhuanlan.zhihu.com/p/59801160​​ Application启动流程 ​​https://www.jianshu.com/p/14d54a76b16f​​Kotlin基础语法 ​​ https:......