Java学习----习题练习,字符流

今日练习习题如下:

题目:用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符串结束整个输入操作过程。程序将计算出这些数的和以及平均值。

import java.io.IOException;

public class Test1 {
	public static void main(String[] args) throws IOException {
		int sum = 0;
		int count = 0;
		while (true) {
			String ss = readData();
			System.out.println("input:" + ss);
			if ("quit".equals(ss))
				break;
			if (ss != null && ss.trim().length() > 0) {
				int kk = Integer.parseInt(ss);
				sum += kk;
				count++;
			}
		}
		System.out.println("数字和" + sum + ",平均值" + (1. * sum / count));
	}

	public static String readData() throws IOException {
		byte[] res = new byte[10];
		int len = 0;
		while (true) {
			//具体的键盘录入和应用编码无关,这里是按照一个InputSteam进行使用
			int kk = System.in.read();
			if (kk == '\r' || kk == '\n')
				break;
			res[len++] = (byte) kk;
		}
		return new String(res, 0, len);
	}
}

字符流

字符流Reader

  • int read()读取一个字符并以整数的形式返回0-65535,如果返回-1则已到输入流末尾
  • int read(char[] cbuf)读取一系列字符并存储到一个数组中,返回实际读取的字符数,如果读到输入流末尾则返回-1
  • void close()关闭输入流并释放内存资源
  • int read(char[] cbuf, int off, int len) 读取len个字符并存储到一个数组中,从off位置开始,返回实际读取的字符数,如果读取到输入流末尾则返回-1
  • long skip(long n)跳过n个字符不读,返回实际跳过的字节数

字符流Writer 

  • void write(int c) 将字符(int数组的低8位)压入到字符流中
  • void write(char[] cbuf

你可能感兴趣的:(Java学习,java,学习,开发语言)