不使用Scanner方法从控制台上输入数据并接受处理数据

在这里插入代码片package practice;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Prictice {

	public static void main(String[] args) throws IOException  {
		
			//除了可以用Scanner方法外,还可以使用这种方法在控制台输入数据
		//注意使用的是InputStream,不是OutputStream,表示是从控制台上读取数据
			InputStreamReader stdin=new 
					InputStreamReader(System.in);
			BufferedReader buf=
					new BufferedReader(stdin);
		try{
			System.out.println("请你输入数字A");
			String strNumberA=buf.readLine();
			System.out.println("请你输入运算符(+-*/");
			String strOperate=buf.readLine();
			System.out.println("请你输入数字B");
			String strNumberB=buf.readLine();
			
			Integer strResult=0;
			
			if(strOperate.equals("+")){
                                 //Integer.parseInt(String):将字符串当做参数当做有符号的十进制整数进行解析
				strResult=Integer.parseInt(strNumberA)+Integer.parseInt(strNumberB);
			}else if(strOperate.equals("-")){
				strResult=Integer.parseInt(strNumberA)-Integer.parseInt(strNumberB);
			}else if(strOperate.equals("*")){
				strResult=Integer.parseInt(strNumberA)*Integer.parseInt(strNumberB);
			}else if(strOperate.equals("/")){
				if(Integer.parseInt(strNumberB)!=0){
					strResult=Integer.parseInt(strNumberA)-Integer.parseInt(strNumberB);
				}else{
					strResult=-1;
				}
				
			}
			if(strResult!=-1){
				System.out.println("结果是"+strResult);
			}else{
				System.out.println("除数不同为零");
			}
		
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			buf.close();
			stdin.close();
		}
		// 不可重用,不可扩展,不可维护
        //六种
	}

}

发布了37 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43668119/article/details/90646042