编写一个程序, 接受用户输入的一段英文文字后,输出其中的字符数、单词数和句子数(设句子以"?"、"!"、"."结束)。
import java.io.*;
public class test
{ public static void main(String[] args) throws IOException
{ System.out.print("请输入一串字母:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
int char1=0,letter=0,sentence=0;
for(int i=0;i<str.length();i++)
{
char ch = str.charAt(i);
if(ch!=' ')
{ char1++;
}
if(!(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
//if(!((str.charAt(i+1)>='a'&&str.charAt(i+1)<='z')||(str.charAt(i+1)>='A'&&str.charAt(i+1)<='Z')))
letter++;
}
if(ch=='?'||ch=='!'||ch=='.')
{ sentence++;
}
}
System.out.println("字符数:"+char1);
System.out.println("单词个数:"+letter);
System.out.println("句子数:"+sentence);
}
}
有误,单词的个数计算错误
请输入一串字母:jkghk
字符数:5
单词个数:0
句子数:0
import java.io.*;
public class test
{ public static void main(String[] args) throws IOException
{ System.out.print("请输入一串字母:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
int char1=0,letter=0,sentence=0;
for(int i=0;i<str.length();i++)
{
char ch = str.charAt(i);
if(ch!=' ')
{ char1++;
}
if(!(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
//if(!((str.charAt(i+1)>='a'&&str.charAt(i+1)<='z')||(str.charAt(i+1)>='A'&&str.charAt(i+1)<='Z')))
letter++;
}
if(ch=='?'||ch=='!'||ch=='.')
{ sentence++;
}
}
System.out.println("字符数:"+char1);
System.out.println("单词个数:"+letter);
System.out.println("句子数:"+sentence);
}
}
有误,单词的个数计算错误
请输入一串字母:jkghk
字符数:5
单词个数:0
句子数:0
if(!(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
//if(!((str.charAt(i+1)>='a'&&str.charAt(i+1)<='z')||(str.charAt(i+1)>='A'&&str.charAt(i+1)<='Z')))
letter++;
}