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