java统计Scanner输入的行数,制表位数以及空格数
2013-09-07 12:19
211 查看
最近在学C语言,每写一个C语言程序,就再写一个java的实现,发现简单的小程序,还是C语言简单啊。。。java写起来要复杂繁琐的多。。
说到统计,通常的需求是统计一篇文章的各种信息数据。但神需求无处不在,只要技术使用正确就一定可以解决的。
直接上代码。
import java.util.*;
class Test1
{
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
String str=sc.nextLine();
int n=0,m=0,p=0;
while(sc.hasNext()&&!str.equals("EOF"))
{
++n;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)=='\t')
++m;
if(str.charAt(i)==' ')
++p;
}
str=sc.nextLine();
}
System.out.println("行数为"+n+"行,制表位有"+m+"个。空格有"+p+"个");
}
}
另外判断制表位和空格的时候也可以通过str.indexOf("\t")和str.indexOf(" ")
运行结果如下:
至于为啥在EOF后面还得输入任意字符呢?
因为程序一开始就是定义了一个Scanner接受用户输入,虽然之前的EOF让程序退出统计的那个while循环了,但由于输入完EOF后,我们又敲了一个回车,所以程序会再接受一次输入才能往下运行,输出统计数据。
这个程序也可以用上正则表达式,但有点高射炮打蚊子的感觉喽~
说到统计,通常的需求是统计一篇文章的各种信息数据。但神需求无处不在,只要技术使用正确就一定可以解决的。
直接上代码。
import java.util.*;
class Test1
{
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
String str=sc.nextLine();
int n=0,m=0,p=0;
while(sc.hasNext()&&!str.equals("EOF"))
{
++n;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)=='\t')
++m;
if(str.charAt(i)==' ')
++p;
}
str=sc.nextLine();
}
System.out.println("行数为"+n+"行,制表位有"+m+"个。空格有"+p+"个");
}
}
另外判断制表位和空格的时候也可以通过str.indexOf("\t")和str.indexOf(" ")
运行结果如下:
至于为啥在EOF后面还得输入任意字符呢?
因为程序一开始就是定义了一个Scanner接受用户输入,虽然之前的EOF让程序退出统计的那个while循环了,但由于输入完EOF后,我们又敲了一个回车,所以程序会再接受一次输入才能往下运行,输出统计数据。
这个程序也可以用上正则表达式,但有点高射炮打蚊子的感觉喽~
相关文章推荐
- C语言编程中统计输入的行数以及单词个数的方法
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格,和其他字符的个数,在主函数中输入字符串以及输出上述统计的结果。再考虑将算的的结果放在一个数组中
- java 控制台输入(标准输入法)以及Scanner的用法、以及Console的用法
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- java小算法—输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
- java中输入一行字符,分别统计英文字母、空格、数字的个数
- java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- 习题 7.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
- 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。(java)
- java实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- 编写一函数,由实参数来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果
- java 文件的输入和输出 Scanner()与PrintWriter的用法,以及 java.io.file.paths
- Java中scanner.next()键盘输入中文乱码以及转码乱码的问题
- java实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- [Java]练习题007: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
- Linux下统计文件行数 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有 指定文件的总统计数。字是由空格字符
- Java统计输入字符的英文字母、空格、数字和其它
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- (c++)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。