java最最基础的问题。

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
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+"个。");
}

}