`

java io BufferedReader InputStreamReader 计算器

    博客分类:
  • JAVA
 
阅读更多

1、输入三个参数,如100+200,则返回300,第13个参数只能输入数字,第2个参数输入+-*/,返回运算结果。 请注意界面校验、异常处理等环节,请自行挑选winform、网页或者命令行形式编写

 

package test;

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

public class EnterConsole {
	
	public static void main(String[] args) throws IOException  {
		computer();
	}
	public static void computer() throws IOException {
		EnterConsole enterConsole = new EnterConsole();
		int first = enterConsole.inputConsoleIn(null);
		String fuhao = enterConsole.inputConsoleFuhao();
		int second = enterConsole.inputConsoleIn(fuhao);
		if("/".equals(fuhao) && second==0){
			System.out.print("被除数不能为0,请重新输入被除数:");
		}
		if("+".equals(fuhao)){
			System.out.println("结果是:"+(first+second));
		}else if("-".equals(fuhao)){
			System.out.println("结果是:"+(first-second));
		}else if("*".equals(fuhao)){
			System.out.println("结果是:"+(first*second));
		}else if("/".equals(fuhao)){
			System.out.println("结果是:"+(first/second));
		}else{
			System.out.println("NONE");
		}

		System.out.print("是否继续?y/n");
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		if("y".equals(str)){
			computer();
		}
	}

	/**
	 * 输入数字
	 */
	public int inputConsoleIn(String fuhao) throws IOException {
		  System.out.print("请输入数字:");
		  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		  String inputStr = br.readLine();
		  try{
			  int num = (Integer.valueOf(inputStr));
			  if("/".equals(fuhao)){
				  System.out.print("被除数不能为0,请重新输入,请输入数字:");
				  return inputConsoleIn(fuhao);
			  }else{
				  return num;
			  }
		  }catch(Exception ex){
			  System.out.print("输入的不是数字,请重新输入,请输入数字:");
			  return inputConsoleIn(fuhao);
		  }
	}
	
	/**
	 * 输入+-*\/
	 * @return
	 * @throws IOException
	 */
	public String inputConsoleFuhao() throws IOException {
		  System.out.print("请输入计算符号(+-*/):");
		  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		  String inputStr = br.readLine();
		  if("+".equals(inputStr) || "-".equals(inputStr) || "*".equals(inputStr) || "/".equals(inputStr)){
			  return inputStr;
		  }else{
			  return inputConsoleFuhao();
		  }
	}
	
}

 

 

分享到:
评论

相关推荐

    java实现的简单计算器

    在本文中,我们将深入探讨如何使用Java编程语言实现一个简单的C/S模式的计算器,它包含了基本的加减乘除运算以及三角函数如sin。通过理解这个项目,你可以增强对Java编程、面向对象设计以及网络通信的理解。 首先,...

    Java两种输入输出方式

    import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; public class BufferInOutExample { public static void main(String[] args) throws IOException { ...

    java程序 网络计算器服务器端.doc

    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); DataOutputStream rf = new DataOutputStream...

    Java 输入与输出流操作

    在Java中,I/O(Input/Output)处理是通过一系列的类和接口来实现的,这些都位于java.io包中。下面将详细阐述Java输入与输出流的相关知识点。 1. **流的概念**: 流是Java I/O的核心概念,它代表数据的源或目的地...

    简单的计算器

    BufferedReader in = new BufferedReader(new InputStreamReader( System.in)); s = in.readLine(); } catch (IOException e) { } for (int i = 0; i (); i++) { if ((s.charAt(i) == '+') || (s.charAt(i) =...

    java代码-java控制台输入输出

    对于更复杂的输入输出需求,如批量读写文件或者网络通信,我们可以使用`java.io.BufferedReader`和`java.io.PrintWriter`。这两个类提供了更高效且功能强大的文本读写接口: ```java import java.io.*; public ...

Global site tag (gtag.js) - Google Analytics