从键盘输入一串字符串,编写一个java程序实现统计,输出有几个大写字母,几个小写字母,和几个数字,并把大 200
2个回答
展开全部
public static void main(String[] args) {
System.out.println("请输入一串字符串");
Scanner s=new Scanner(System.in);
String string=s.nextLine();
int numberCount=0;
int upperCaseCount=0;
int lowerCaseCount=0;
for(int i=0;i<string.length();i++){
char c=string.charAt(i);
if(Character.isDigit(c)){
//数字
numberCount=numberCount+1;
}
else if(Character.isUpperCase(c)){
//大写字母
upperCaseCount=upperCaseCount+1;
}
else if(Character.isLowerCase(c)){
//小写字母
lowerCaseCount=lowerCaseCount+1;
}
}
System.out.println("大写字母数量"+upperCaseCount);
System.out.println("小写字母数量"+lowerCaseCount);
System.out.println("数字数量"+numberCount);
}
}
展开全部
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=97 && 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=97 && 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; }}
你试试看 我也参考别人的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询