`

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();
		  }
	}
	
}

 

 

分享到:
评论

相关推荐

    javaIO流实现永久化查询添加学生信息-java-BufferedReader

    Java IO流分为字符流和字节流,其中`BufferedReader`属于字符流的一部分,主要用于读取字符数据,如文本文件。它的主要优点在于可以一次性读取大量字符,提高效率,同时它还支持行读取,非常适合处理文本文件。 要...

    java IO.chm

    BufferedInputStream、BufferedOutputStream、BufferedReader和BufferedWriter是Java IO中的缓冲流,它们通过在内存中创建缓冲区来提高读写效率。缓冲流可以减少对底层物理设备的访问次数,从而提升性能。 四、转换...

    Java IO知识点

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的重要部分,涉及文件、网络、内存等数据传输。本文将深入探讨Java IO的基本概念、分类、选择流的策略以及常用的流类型。 首先,File类是Java IO的...

    java io 结构图

    Java IO还包含了过滤流(Filter Stream)的概念,它们在原有流的基础上增加了额外的功能,如转换、压缩、加密等,比如 `InputStreamReader` 和 `OutputStreamWriter` 实际上就是过滤流,它们将字节流转换为字符流。...

    Java IO_NIO

    此外,还有缓冲流(BufferedInputStream、BufferedReader等)用于提高读写效率,转换流(InputStreamReader、OutputStreamWriter)用于在字节流和字符流之间转换,以及对象流(ObjectInputStream、...

    Java IO处理类的汇总

    Java IO处理类是Java平台中用于输入输出操作的核心部分,它允许程序与各种类型的输入源(如文件、网络连接)以及输出目标(如显示器、打印机)进行交互。本篇文章将全面解析Java IO处理类,包括基本概念、常用类库、...

    Java IO 使用例

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许开发者在程序中与各种设备、文件、网络等进行数据交互。Java IO系统是基于流(Stream)的,数据通过流在源...

    Java IO 工具类大全

    Java IO(Input/Output)是Java平台中处理输入与输出数据的核心部分,它提供了丰富的类库,使得开发者能够高效地进行文件、网络、内存以及其他I/O流的操作。本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在...

    Java io的基本操作很全面的代码呀

    Java IO(Input/Output)是Java编程中非常重要的一个领域,它主要用于数据的读取、写入和传输。Java IO提供了丰富的类库,使得开发者能够处理各种类型的输入输出任务,包括文件操作、网络通信、流处理等。在这个...

    java IO流精讲 JAVA IO流实例开发

    在Java IO库中,存在一对“装饰器”流,即BufferedInputStream和BufferedReader。它们提供缓冲功能,可以显著提高数据读写的效率。例如,使用BufferedReader.read()方法可以一次性读取一行文本,而不是一个字符一个...

    java io.pdf

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许程序员在程序之间传输数据,包括从文件、网络、内存缓冲区到其他程序或系统组件。Java IO API是Java平台的...

    java io流学习笔记1

    在Java IO中,还有转换流(InputStreamReader和OutputStreamWriter)的作用,它们将字节流和字符流之间进行桥接,允许我们在不同的字符编码之间进行转换。例如,当我们需要从一个字节流中读取UTF-8编码的文本时,...

    java io流 案例

    Java IO流是Java平台中的重要组成部分,用于处理输入和输出操作。它允许程序与外部设备如硬盘、网络、内存等进行数据传输。IO流的概念基于流(Stream)模型,数据以字节或字符序列的形式流动。Java IO库提供了丰富的...

    Java IO 与 装饰模式

    Java IO 与 装饰模式 在Java编程中,输入输出(IO)处理是程序设计中的重要组成部分,用于读取、写入和处理数据。Java IO库提供了一整套类来支持各种类型的输入输出操作,包括文件、网络、内存等。而装饰模式是一种...

    java IO流+socket源码 实现简单文本传输

    Java IO流和Socket是Java编程语言中用于处理输入输出和网络通信的重要概念。在这个示例中,我们将深入探讨如何利用Java IO流与Socket实现简单的文本传输。对于初学者来说,理解这两个概念及其交互是非常关键的。 ...

    Java IO 编程集合

    Java IO编程是Java平台中处理输入输出操作的重要组成部分,它提供了丰富的类库,使得开发者能够高效地进行数据的读取、写入、流的管理和转换。在这个集合中,我们主要探讨的是Java IO在文件读写方面的实践应用。 一...

    java io读取文件

    在Java编程语言中,`IO`(Input/Output)是处理数据输入和输出的核心部分,尤其是在处理大数据量文件时显得尤为重要。Java IO API提供了一系列类和接口,使得开发者能够高效地读取、写入和操作文件。下面我们将深入...

    java IO系统与正则表达式

    import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexAndIOExample { public static ...

    javaIO实例

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的重要部分。在Java中,IO库提供了大量的类和接口,使得开发者可以方便地读取、写入数据到各种类型的输入输出源,如文件、网络连接、内存缓冲区等。...

    高级java java 代码

    高级javaimport java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class Client { public static void main (String args[]){ try{ ...

Global site tag (gtag.js) - Google Analytics