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

用java语言编写一个程序,输出一个字符串中的大写字母数,小写英文字母数以及非英文字母数。
不用写输入程序,只要代码中填写的就好。最好用方法重载的方法。

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");
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-25
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]);
        }
        
    }

}

有不懂可以追问

第2个回答  2014-03-25
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
*
*/
第3个回答  2014-03-25
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;
}
}

第4个回答  2014-03-25
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) ; }

用java语言编写一个程序,输出一个字符串中的大写字母数。
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 up...

编写Java程序,将一字符串其中的大小写字母的字符分别输出
循环字符串用charAt方法来获取字符,将字符转为int,只要判断转换后的数值就可以判断大小写字母,大写字母的范围是65-90,小写字母的范围是97-122。public class Main { public static void main(String[] args) { String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println(...

java编写程序,输出字符串中大写英文字母数、小写英文字母数以及非英文字...
System.out.println("大写英文字母个数为: "+countUp+"\\n小写英文字母个数为: "+countLow+"\\n非英文字母个数为: "+countNo);} public static void main(String[] args)throws IOException { countstring a=new countstring();} } ...

Java从键盘任意输入一字符串,输出其中的大写字母
import java.util.Scanner;public class Demo2 { public static void main(String[] args) { Scanner s = new Scanner(System.in);System.out.println("请输入任意字符串");String str = s.nextLine();System.out.println("原字符串为:"+str);System.out.println("其中的大写字母为:");for...

3.编写一个程序,统计出某个字符串中大写英文字母个数、小写英文在字母个...
import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int upperCase = 0;int lowCase = 0;int num = 0;System.out.println("请输入任意字符串");String s = sc.next();char[] letters = s.toCharArray();for(...

用java编写一个程序,实现字符串大小写的转换并倒序输出
一下代码仅供参考 public class Main {public static void main(String[] args) {String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println("大小写转换后是:" + convertString(s));System.out.println("倒序输出后是:" + ss.reverse());}public static StringBuffer ...

...编写一个java程序实现统计,输出有几个大写字母,几个小写字母,和几个...
public static void main(String args[]){   new Static();} \/*** 该方法获取一组字符串*\/public void getString(){   BufferedReader in = new BufferedReader(             &#...

java输入一个字符串,要求将该字符串中出现的英文字母,按照顺序 进行输出...
import java.util.Arrays;import java.util.List;public class Demo { public static void main(String[] args) { \/\/ 假设输入的内容 String input = "A8r4c5ja5AJp#7";\/\/ 转为 char[]char[] inputArr = input.toCharArray();\/\/ 存储 大写字母、小写字母 List<String> upperCaseList = ...

利用java语言编程 : 输入一行字符,分别统计出其中英文字母、空格、数...
String str="sd 12 332 sdk ;;; ~! dfj3";System.out.println(str.length());int num=0;\/\/数字 int letter=0;\/\/字母,包括大写和小写 int space=0;\/\/空格 int other=0;\/\/其他 for(int i=0;i<str.length();i++){ char c=str.charAt(i);int value=(int)c;if(value==32){...

...然后输出其中的大写字母,小写字母输出用空格代替。
public static void cout(){Scanner in=new Scanner(System.in);String s=in.nextLine();for(int i=0;i='A'&&c<='Z'){System.out.print(c);}else if(c>='a'&&c<='z'){System.out.print(" ");}}}

相似回答