Java简单四则运算

题目

从控制台输入只有一个四则运算符(+,-,,/)的简单四则运算式子,然后输出计算结果。例如输入345+23,则输出345+23=368;输入20100,则输出20*10=2000;如果输入非四则运算式子就给出提示信息。运算结果如下图所示

提示:本篇文章是面对初学者文章,其中未使用java语言中类与对象的概念,没有什么深层次和抽象的内容。学习者只需一步一步阅读就可理解程序的运行逻辑,与c语言编程较为相似。

不足需改正点:1.该程序没有使用函数,即没有将程序做模块化设计。2.该程序的判断条件仍未完善,例如:其对含小数数尚不能进行判断,且判断条件相对繁琐,需改进。

代码如下(示例):

import java.util.Scanner;

public class demo3_2b {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int i = 0;
		System.out.println("请输入四则运算式:");
		String a = sc.nextLine();
		
		//判断输入的字符串为简单的四则运算
		
		/**
		 * 判断理念 正确的简单四则运算形式应该为 数字+符号+数字,那么,反之不为此形式者就不是四则运算。
		 * 
		 *第一轮循环,判断前面的字符串是否为数字,找到第一个非数字字符,退出循环进行下一步判断。  i为定位字符串下标变量
		 * 对找到第一个非数字字符进行判断,为四则运算符则进入下一轮循环。  
		 * 接下来剩余的字符串应全为数字,则只需设置判断数字的条件即可。
		 */
		for (i=0; i<a.length(); i++) {
			if(i==0&&(a.charAt(i)<'0'||a.charAt(i)>'9')) {			//第一个字符必须为数字,否则不为四则运算,即提示并退出
				System.out.println("不是正确的四则运算式子!!!");
				System.exit(0);
			}			
			if(a.charAt(i)<'0'||a.charAt(i)>'9')
				break;
		}
		
		
		char b;
		int x;
		x = i;
		b = a.charAt(i);
		
		
		if(b=='+'||b=='-'||b=='*'||b=='/') {			//运算符判断
			i++;										//位置下标后移
			for(;i<a.length();i++) {
				if(a.charAt(i)<'0'||a.charAt(i)>'9') {
					System.out.println("不是正确的四则运算式子!!!");
					System.exit(0);
					}
				}
			}
		else {
			System.out.println("不是正确的四则运算式子!!!");
			System.exit(0);
		}
		
		//分离字符 将数字和符号分离x,提取字符串中的数字
		String c = a.substring(0, x);
		String d = a.substring(x+1, a.length());
		
		//此处提取出的数字为字符串型,所以需要对其转化
		//强制类型转化,将string型转化成int
		double e = Integer.parseInt(c);
		double f = Integer.parseInt(d);
		
		double s=0;
		
		
		//使用switch语句 寻找到其对应的运算规则,完成运算。此处也可以使用if-else
		switch(b) {
		case '+':
			s = e+f;
			System.out.println(e+"+"+f+"="+s);
			break;
		case '-':
			s = e-f;
			System.out.println(e+"-"+f+"="+s);
			break;	
		case '*':
			s = e*f;
			System.out.println(e+"*"+f+"="+s);
			break;
		case '/':
			if(f==0) {
				System.out.println("除数不能为零!!!");
				break;
			}
			else {
				s = e/f;
				System.out.println(e+"/"+f+"="+s);
				break;
			}
		default:
			System.out.println("不正确的四则运算式子!");
			sc.close();			//代表关闭输入流,不然会有警告
		}
		
		
	}
	
}


coding-Java简单四则运算-

coding-Java简单四则运算-

匿名

发表评论

匿名网友