从键盘输入一串字符串,编写一个java程序实现统计,输出有几个大写字母,几个小写字母,和几个数字?
2个回答
展开全部
import java.io.*;import java.util.*;
public class Static{private String input;
private int bLetter =0;private int sLetter =0;private int numbers =0;private int others =0;private int spaces =0;
public Static(){ this.getString(); char[] list = charsOfString(input);
for (int i=0;i<list.length ;i++ ) { int flag = letterToCode(list[i]);
if(flag>=65 && flag<=90) //注意:这里是大写字母的ASCII码值范围,下面一样 { bLetter += 1 ; } else if (flag>=97 && flag<=122) { sLetter += 1; } else if (flag>=48 && flag<=57) { numbers += 1; } else if (flag == 32) { spaces += 1; } else { others += 1; } }
System.out.println("您输入的字符串中的大写字母有:"+bLetter); System.out.println("您输入的字符串中的小写字母有:"+sLetter); System.out.println("您输入的字符串中的数字有:"+numbers); System.out.println("您输入的字符串中的空格有:"+spaces); System.out.println("您输入的字符串中的其他字符有:"+others);
}
public static void main(String args[]){ new Static();}
/*** 该方法获取一组字符串*/public void getString(){ BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); System.out.println("请输入一串字符串:");
try { this.input = in.readLine(); } catch (Exception e) { System.out.println(e); }} /*** 该方法返货该字符串的各个字符到一个数组里* 这里我打算用ArrayList的,但是他只能保存为Object类型* 就是不知道怎么把Object转换为char,所以,这里就用char[]*/public char[] charsOfString(String s){ char[] list = new char[s.length()];
for (int i=0 ;i<s.length() ;i++ ) { list[i] = s.charAt(i); }
return list;} /*** 该方法获将字母转换为对应ASCII码*/public int letterToCode(char ch){ int s = ch; return s; }}
你试试看 我也参考别人的
public class Static{private String input;
private int bLetter =0;private int sLetter =0;private int numbers =0;private int others =0;private int spaces =0;
public Static(){ this.getString(); char[] list = charsOfString(input);
for (int i=0;i<list.length ;i++ ) { int flag = letterToCode(list[i]);
if(flag>=65 && flag<=90) //注意:这里是大写字母的ASCII码值范围,下面一样 { bLetter += 1 ; } else if (flag>=97 && flag<=122) { sLetter += 1; } else if (flag>=48 && flag<=57) { numbers += 1; } else if (flag == 32) { spaces += 1; } else { others += 1; } }
System.out.println("您输入的字符串中的大写字母有:"+bLetter); System.out.println("您输入的字符串中的小写字母有:"+sLetter); System.out.println("您输入的字符串中的数字有:"+numbers); System.out.println("您输入的字符串中的空格有:"+spaces); System.out.println("您输入的字符串中的其他字符有:"+others);
}
public static void main(String args[]){ new Static();}
/*** 该方法获取一组字符串*/public void getString(){ BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); System.out.println("请输入一串字符串:");
try { this.input = in.readLine(); } catch (Exception e) { System.out.println(e); }} /*** 该方法返货该字符串的各个字符到一个数组里* 这里我打算用ArrayList的,但是他只能保存为Object类型* 就是不知道怎么把Object转换为char,所以,这里就用char[]*/public char[] charsOfString(String s){ char[] list = new char[s.length()];
for (int i=0 ;i<s.length() ;i++ ) { list[i] = s.charAt(i); }
return list;} /*** 该方法获将字母转换为对应ASCII码*/public int letterToCode(char ch){ int s = ch; return s; }}
你试试看 我也参考别人的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询