用java语言编写一个程序,输出一个字符串中的大写字母数。 150

用java语言编写一个程序,输出一个字符串中的大写字母数,小写英文字母数以及非英文字母数。不用写输入程序,只要代码中填写的就好。最好用方法重载的方法。... 用java语言编写一个程序,输出一个字符串中的大写字母数,小写英文字母数以及非英文字母数。
不用写输入程序,只要代码中填写的就好。最好用方法重载的方法。
展开
 我来答
卖贫道的小火柴
推荐于2017-05-24 · TA获得超过229个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:250万
展开全部
public Map<String,Integer> getCharacterNum(String str)
{
//封装一个Map,key为String类型,value为字母数,其中key为UpperChar的value存大写字母数
//key为LowerChar的value存放小写字母数,key为OtherChar的value存放非英文字母数
Map<String,Integer> map = new HashMap<String,Integer>();
int upperValue = 0;
int lowerValue = 0;
int otherValue = 0;
for (int i = 0 ; i < str.length(); i++)
{
if (str.charAt[i] > 'a' && str.charAt[i] < 'z')
{
lowerValue++;
}
else if (str.charAt[i] > 'A' && str.charAt[i] < 'Z')
{
upperValue++;
}
else
{
otherValue++;
}
}
map.put("UpperChar",upperValue);
map.put("LowerChar",lowerValue);
map.put("OtherChar",otherValue);
return map;
}

然后再main()方法中调用这个函数,通过下面这种方式获取其值
Map<String,Integer> map = 对象名.getCharacterNum(inputStr);
int upperNum = (int) map.get("UpperChar");
kb0102030405
2014-03-25 · TA获得超过566个赞
知道小有建树答主
回答量:228
采纳率:100%
帮助的人:164万
展开全部
public class UpcaseTest {

    public int[] getNumber(String str) {
        char[] c = str.toCharArray();
        int[] number = new int[3];//数组中依次存放大写字母数、小写字母数和非英文数
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= 'A' && c[i] <= 'Z') {
                number[0]++;//大写字母数加1
            }else if (c[i] >= 'a' && c[i] <= 'z') {
                number[1]++;//小写字母数加1
            }else{
                number[2]++;//非英文数加1
            }
        }
        return number;
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "aaaASDFS.,/;'d";
        int[] result=new UpcaseTest().getNumber(str);
        for(int i=0;i<result.length;i++){
            System.out.println(result[i]);
        }
        
    }

}

有不懂可以追问

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灵枝怡m
2014-03-25 · TA获得超过114个赞
知道小有建树答主
回答量:130
采纳率:47%
帮助的人:54.8万
展开全部
public abstract class StringUtil{
String inputString = "";
//输入程序(初始化inputString)
//统计方法
public abstract long getLength();

public static void main(String[] args){
StringUtil stringUtil = new LowerUtil();
//调用输入程序
stringUtil.inputString = "Zhu Cheng feng is a good boy!";
System.out.println(stringUtil.getLength());
}
}
/**
* 处理字符串中的大写部分
* @author zcf
* @since 20140325
*
*/
class UpperUtil extends StringUtil{
@Override
public long getLength() {
if(!"".equals(inputString)){
return inputString.split("[A-Z]").length>0
?inputString.split("[A-Z]").length-1:0;
}
return 0;
}

}
/**
* 处理字符串中的小写部分
* @author zcf
* @since 20140325
*
*/
class LowerUtil extends StringUtil{
@Override
public long getLength() {
if(!"".equals(inputString)){
return inputString.split("[a-z]").length>0
?inputString.split("[a-z]").length-1:0;
}
return 0;
}

}
/**
* 处理字符串中的数值部分
* @author zcf
* @since 20140325
*
*/
/**
* 处理字符串中的符号部分
* @author zcf
* @since 20140325
*
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
00gaojun
2014-03-25 · TA获得超过707个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:156万
展开全部
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class OutputUpperCase
{
static String str = "AbCdE fGh NNMM ZZZ";
public static void main(String[] args)
{
Pattern upperPattern = Pattern.compile("[A-Z]");
Pattern lowerPattern = Pattern.compile("[a-z]");
int upperCount = getOutput(upperPattern);
int lowerCount = getOutput(lowerPattern);
Pattern nonLetterPattern = Pattern.compile("[^A-Za-z]");
Matcher matcher = nonLetterPattern.matcher(str);
int nonLetterCount = getOutput(matcher); // 调用了重载方法getOutput(Matcher)
System.out.println(upperCount + " Upper Chars");
System.out.println(lowerCount + " Lower Chars");
System.out.println(nonLetterCount + " Non Letter Chars");
}
private static int getOutput(Pattern pattern)
{
Matcher matcher = pattern.matcher(str);
int result = 0;
while(matcher.find())
{
result ++;
}
return result;
}
private static int getOutput(Matcher matcher)
{
int result = 0;
while(matcher.find())
{
result ++;
}
return result;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bc80522
2014-03-25
知道答主
回答量:9
采纳率:0%
帮助的人:3.6万
展开全部
public class NumOfString
{
public static void main(String args[]) {
String s = "1jkhKhjklhklHLHjb90kBNo9" ;
int cU = 0 ;
int cL = 0 ;
int cN = 0 ;
char c ;
for(int i=0 ;i<s.length() ;i++) {
c = s.charAt(i) ;
if(c > 'a' && c < 'z') {
cL ++ ;
}
else if(c > 'A' && c < 'Z') {
cU ++ ;
}
else {
cN ++ ;
}
}
System.out.println("Number of LowerCase:" + cL) ;
System.out.println("Number of UpperCase:" + cU) ;
System.out.println("Number of NotChar:" + cN) ; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式