要求在控制台输入一个计算表达式 按回车出计算结果

/**
* 要求在控制台输入一个计算表达式:
* 例如:
* 51+52 (加减乘除法)

按回车出计算结果:
* 103
*
* a+1

按回车出如下提示:
* 不是数学计算表达式
*

以下等有空在研究
* 1+2*3+(3+4)=
*
* 3*5+1/2

*/

public class Work01 {
    public static void main(String[] args) {
        Scanner scanner
            = new Scanner(System.in);
        System.out.println("请输入一个计算表达式:");
        String line = scanner.nextLine();
        //操作符的位置
        int index = 0;
        if((index = line.indexOf("+"))>0){
            print(index,line,1);
        }else if((index = line.indexOf("-"))>0){
            print(index,line,2);
        }else if((index = line.indexOf("*"))>0){
            print(index,line,3);
        }else if((index = line.indexOf("/"))>0){
            print(index,line,4);
        }
    }
    /**
     *
     * @param index
     * @param type 1加 2减 3乘 4除
     */
    public static void print(int index,String line,int type){
            int a=
                Integer.parseInt(
                    line.substring(0,index)
                );
            int b
                =
                Integer.parseInt(
                    line.substring(index+1)
                );
            if(type==1){
                System.out.println(a+"+"+b+"="+(a+b));
            }else if(type==2){
                System.out.println(a+"-"+b+"="+(a-b));
            }else if(type==3){
                System.out.println(a+"*"+b+"="+(a*b));
            }else if(type==4){
                System.out.println(a+"/"+b+"="+(a/b));
            }

    }

时间: 2024-08-08 13:58:22

要求在控制台输入一个计算表达式 按回车出计算结果的相关文章

控制台输入一个简单表达式(+-*/)计算结果

1, import java.util.Scanner /** * Author: bruce * Date: 2015-01-24 */ object ConsoleScanner { def main(args: Array[String]) { println("Please enter a phase: "); val scan = new Scanner(System.in); val phase = scan.next() algo(phase, "+"

从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略正负号)。

/* 从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略正负号). 例如,输入1234,输出10:输入-1234,输出10. */ #include <stdio.h> #include <string.h> #include<math.h> int abs(int n){ if(n>0) return n; return -n; } int main() { int n,sum=0; scanf("%d",&n); n=a

ACM:每行输入一个正整数n,找出与它对应的比它大的最小的且它们对应的二进制中1的个数一样多的正整数.

#include<stdio.h> //每行输入一个正整数i,找出与他对应的比它大的最小的正整数且他们的二进制中1的个数一样多. /* 样例输入: 样例输出: 1 2 2 4 3 5 4 8 78 83 0 */ //78的二进制位1001110,有4个1:83比78大且83的二进制位1001011也是4个1. int main() { int count1,count2;//count1统计原数据对应的二进制中1的个数,count2... int a[100];//存输入的数字 int i=

输入一个维度,逆时针打印出一个指定的矩阵

题目:用户给定一个维度,打印出指定的一个矩阵,例如用户给定10,输出应该如下图所示: 程序如下: #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; int startx, starty, endx, endy; int i, j, value = 0; printf("Please input dimension:"); scanf("%d",

[java]输入一个算术表达式输出结果

动手有益. 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形.例如:  输入:3+8×2/9-2  输出:2 /** * input a calculate string, calcuate the value * the number between 0-9 * round the middle vlaue to int * */ public static void main(String[] args) { //8*6+2-6/3*6+2 String c

编写Python程序,通过python控制台输入一个大于1的整数n,然后产生一个二维列表。二维列表的尺寸是n*n.每一个列表元素的值从1到n*n,依次排列,例如:输入的整数是3,会产生如下二维列表【【1,2,3】,【4,5,6】,【7,8,9】】产生完后,会互换二维列表的行列元素值 如:【【1,4,7】,【2,5,8】,【3,6,9】】

numStr = input("请输入一个大于1的正整数:") n = int(numStr) m = n * n i = 1 numbers = [] values = [] while i <=n: #生成列表 values.apped(i) if i % n ==0: numbers.append(values.copy()) value.clear() i += 1 for number in numbers: print(number) i = 0 j=0 while

编写一个Python程序,从控制台输入一个字符串(保存在变量S中),然后通过while循坏不断输入字符串(保存在变量substr中),并统计substr在s中出现的次数,然后利用format方法格式化统计结果。

s = input("请输入一个字符串:") while True: subStr = input("请输入另一个字符串") if subStr == "exit": break; i = 0 count = 0 while i < len(s): j = s.find(subStr,i) if j > -1: count +=1 i = j + len(subStr) else: break; print("''{}'在'

编写一个python程序,从控制台输入一个包含整数的字符串,将字符串中的整数格式化为长度为10的格式,位数不足前面补0,例如:456格式化成0000000456,具体要求如下:1、不使用正则表达式。2、使用字典格式化字符串。3、将从控制台输入的字符串转换为字符串模板再进行格式化。4、最后在控制台输出字符串模板和格式经结果。

s = input("请输入一个包含整数的字符串:") s1 = '' number = '' index = 0 d = {} print(len(s)) for i in range(len(s)): c = s[i] if c.isdigit(): number += c else: if len(number) > 0: # ab34cd54ab45 ab{number0}cd{number1}ab s1 += "{{number{}:010}}".f

定义一个长度为10的整数说组,可用于保存用户通过控制台输入的10个整数,并计算他们的最大最小平均值。

1 import java.util.Scanner; 2 public class ArithMetic { 3 public static void main(String[] args) { 4 calcArr(); 5 } 6 public static void calcArr() 7 { 8 int[] arr = new int[10]; 9 int max = 0; 10 int min = 0; 11 int total = 0; 12 int avg = 0; 13 Scan