package test;
import java.io.*;
public class Input1 {
public static void sumChar(byte b[])
{
int n=0;
for(int i=0;i<b.length;i++)
{
if(b[i]>='a'&&b[i]<='z') n++;
}
System.out.println("char count=" +n);
}
public static void main(String args[])throws IOException
{
System.out.println("Input:");
byte buffer[]=new byte[512];
int count=System.in.read(buffer);
System.out.println("Output:");
for(int i=0;i<count;i++)
{
System.out.print(" "+buffer[i]);
}
System.out.println();
for(int i=0;i<count;i++)
{
System.out.print((char)buffer[i]);
}
System.out.println("count="+count);//buffer实际长度
sumChar(buffer);
}
}
程序运行结果如下:
Input:
sdedv
Output:
115 100 101 100 118 13 10
sdedv
count=7
char count=5
输入了5个字母,统计出来缓存区实际长度为7,因为输入是以回车换行未结束标志的,当按下Enter建时,程序当做字符读进去,
13是回车ASCII码,10是换行ASCII码,正验证了这个结果。
本文介绍了一个Java程序,该程序能够从标准输入读取数据,并统计其中的小写字母数量。通过实例演示了如何实现字符计数功能,同时解释了输入缓冲区的实际长度为何会包含额外的字符。
771

被折叠的 条评论
为什么被折叠?



