题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
1.程序分析:关键是计算出每一项的值。
我刚刚开会接触java 循环刚刚学完 面向对象还没有开始学。想做一些循环类型的题提升一下自己的能力,希望各位能够帮我解决用 最基础的只是 最好带上明晰的注释 谢谢啦!!拜谢!
参见
http://blog.csdn.net/shylx123/article/details/6366191
http://www.cnblogs.com/kunpengit/p/3180318.html
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
[java] view plaincopy
import java.io.*;
public class Test7
{
public static void main(String[] args) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer(br.readLine());
JudgeElement je = new JudgeElement(sb);
System.out.println("字母的总数为:" + je.getCharCount());
System.out.println("数字的总数为:" + je.getNumberCount());
System.out.println("空格的总数为:" + je.getSpaceCount());
System.out.println("其它字符的总数为:" + je.getOtherCount());
}
}
class JudgeElement
{
StringBuffer sb;
int charCount = 0;
int spaceCount = 0;
int numberCount = 0;
int otherCount = 0;
public JudgeElement(StringBuffer sb)
{
this.sb = sb;
for(int i=0;i {
if((sb.charAt(i)>='a' && sb.charAt(i)<='z') || (sb.charAt(i)>='A'&&sb.charAt(i)<='Z'))
{
charCount++;
}
else if(sb.charAt(i)==' ')
{
spaceCount ++;
}
else if(sb.charAt(i)>'0'&&sb.charAt(i)<'9')
{
numberCount++;
}
else
{
otherCount++;
}
}
}
public int getCharCount()
{
return charCount;
}
public int getSpaceCount()
{
return spaceCount;
}
public int getNumberCount()
{
return numberCount;
}
public int getOtherCount()
{
return otherCount;
}
}
public class num2
{
public static void main(String[] args)
{
int ywzm,space,num,other;
ywzm=space=num=other=0;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = br.readLine();
} catch (IOException ex) {
Logger.getLogger(num2.class.getName()).log(Level.SEVERE, null, ex);
}
char[] carr=str.toCharArray();
for (int i = 0; i < carr.length; i++) {
if((carr>=’0′)&&(carr<=’9′))
num++;
else if((carr>=’A'&&carr=’a'&&carr<=’z'))
ywzm++;
else if(carr==’ ‘)
space++;
else
other++;
}
System.out.println(“英文字母个数:”+ywzm+”\t空格个数”+space+”\t数字个数”+num+”\t其他字符个数:”+other);
}
}
package com.sctf.test;
import java.util.Scanner;
public class MyTest {
//首先定义四个变量,分别代表4中类型的字符数量,并给它们附初值0
static int zmgs = 0; //字母个数
static int kggs = 0; //空格个数
static int szgs = 0; //数字个数
static int qizfgs = 0; //其他字符个数
public static void main(String[] args) {
try {
//实例化输入对象
Scanner sc = new Scanner(System.in);
System.out.print("请输入需要统计的字符串:");
//将输入的值赋给变量作为待判定的字符串对象
String sourceStr = sc.nextLine();
//调用打印结果方法打印出统计结果
printResult(sourceStr);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 打印出统计结果
* @Title: printResult
* @param sourceStr : 需要统计的字符串对象
*/
public static void printResult(String sourceStr){
System.out.println("您输入的字符串为:"+sourceStr+"。");
int i = 0;
while(i<sourceStr.length()){
//截取sourceStr当前下标的字符
String current = sourceStr.substring(i,i+1);
if(current.matches("[a-zA-Z]")){ //字母
zmgs++; //字母个数自加1
}else if(" ".equals(current)){ //空格
kggs++; //空格个数自加1
}else if(current.matches("[0-9]")){ //数字
szgs++; //数字个数自加1
}else{ //其他
qizfgs++; //其他字符个数自加1
}
//向后移一个字符,再循环判定
i++;
}
//输出统计结果
System.out.println("其中,字母个数为:"+ zmgs + "个;空格数量为:"+kggs+"个;数字个数为:"+szgs+"个;其他字符个数为:"+qizfgs+"个。");
}
}