1、
编写一个 java 方法,用来统计所给字符串中大写英文字母的个数,小写英文字母的个数、 数字的个数以及特殊字符的个数。
String str=“abc92872345@#@@#%
A
S
98723
P
K
j
d
e
093
AS98723PKjde093
AS98723PKjde093%#@!^~MMZZyydd”;
package com.exercise;
public class Exercise01 {
/*
分析:
1、如何获取字符串中的每个字符
*/
public static void main(String[] args) {
String str="abcABC123@#$";
Exercise01 exercise01=new Exercise01();
exercise01.strCount(str);
}
public void strCount(String str){
//step1:获取字符串中的每个字符
char[]cs=str.toCharArray();
//定义几个变量,用来统计个数 int count1=0;//小写字母
int count2=0;//大写字母
int count3=0;//数字
int count4=0;//特殊字符
for (int i = 0; i < cs.length; i++) {
if(Character.isLowerCase(cs[i])){
count1++;
}else if(Character.isUpperCase(cs[i])){
count2++;
}else if(Character.isDigit(cs[i])){
count3++;
}else{
count4++;
}
}
System.out.println("小写字母:"+count1);
System.out.println("大写字母:"+count2);
System.out.println("数字:"+count3);
System.out.println("特殊字符:"+count4);
}
}
2、
生成验证码,验证码有字母和数字组成,6 位。
package com.exercise;
import java.util.Random;
package com.bdit;
import java.util.Random;
public class Demo2 {
public static void main(String[] args) {
int[] a=new int[6];
Random ran=new Random();
for (int i = 0; i < a.length; i++) {
int tep= ran.nextInt(14);
int tep1=ran.nextInt(9)+48;//0-9
int tep2=ran.nextInt(25)+65;//A-Z
int tep3=ran.nextInt(25)+97;//a-z
if(tep>=0&&tep<=4){
a[i]=tep1;
}else if(tep>=5&&tep<=9){
a[i]=tep2;
}else if(tep>=10&&tep<=14){
a[i]=tep3;
}
System.out.print((char)a[i]+" ");
}
}
}
3、
编写一个方法(public static int count(String source, String key)),从以下内容中查找出 "String"的出现次数:“String testString testString testString test”
package com.exercise;
public class Exercise03 {
public static void main(String[] args) {
String str = "StringstringTestStringTesttestStringstringtestStringtestStringtestStringtesttesTStrng";
System.out.println(count(str, "Test"));
}
public static int count(String source, String key) {
//查找第一次出现的位置
int index = source.indexOf(key);
//定义一个变量 count,用来统计出现的次数
int count = 0;
while (index != -1) {
count++;
//继续查找
index = source.indexOf(key, index + key.length());
}
return count;
}
}
4、
编写一个方法 public String initcap(String word); 把整句话的每个单词的首字母改成大 写,其它不变。例如字符串:String str=”welcome-to-china”。
package com.exercise;
public class Exercise04 {
public static void main(String[] args) {
String str = "welcome-to-china";
Exercise04 exercise04 = new Exercise04();
System.out.println(exercise04.initcap(str));
}
public String initcap(String word) {
String str = "";
//根据字符串的规则,进行拆分,获取每个单词
String[] strings = word.split("-");
for (int i = 0; i < strings.length; i++) {
str += strings[i].substring(0, 1).toUpperCase().concat(strings[i].substring(1) + " ");
}
return str;
}
}
5、
用户登录需求:已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登 录之后,给出相应的提示
package com.exercise;
import java.util.Scanner;
public class Exercise05 {
public static void main(String[] args) {
//已知用户信息
String username = "admin";
String password = "123";
Scanner input = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println("=======>请输入用户名:");
String name = input.next();
System.out.println("=======>请输入密码:");
String pwd = input.next();
if (username.equals(name) && password.equals(pwd)) {
System.out.println("===========登录成功=============");
break;
} else {
if (2 - i == 0) {
System.out.println("===========已被禁用,请联系管理员 ============");
} else {
System.out.println("你还有" + (2 - i) + "次机会");
}
}
}
}
}
6、
遍历字符串:键盘录入一个字符串,使用程序实现在控制台遍历该字符串。
package com.exercise;
import java.util.Scanner;
public class Exercise06 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("=============>请输入一个字符串:");
String str = input.nextLine();
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i));
}
}
}
7、
统计字符个数:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符, 数字字符出现的次数(不考虑其他字符)
(参考第一题)
package com.bdit;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String num=sc.next();
char[] c=num.toCharArray();
int a=0;//小写
int b=0;//大写
int d=0;//数字
//int t=0;//特殊字符
for (int i = 0; i < c.length; i++) {
int letter=(char)c[i];
if(letter>96 && letter<123){
a+=1;
}else if(letter>64 && letter<91){
b+=1;
}else if(letter>47 && letter<58){
d+=1;
}
}
System.out.println("小写字母有:"+a);
System.out.println("大写字母有:"+b);
System.out.println("数字有:"+d);
}
}
8、
、定义一个方法,把 int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方 法, 并在控制台输出结果。例如,数组为 int[] arr = {1,2,3}; ,执行方法后的输出结果为: [1, 2, 3]
package com.bdit;
public class Demo8 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4};
demo(arr);
}
public static void demo(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if(i==0){
System.out.print("["+arr[i]+",");
}else if(i==arr.length-1){
System.out.print(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
9、
定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出 结果 例如,键盘录入 abc,输出结果 cba
package com.bdit;
import java.util.Scanner;
public class Demo9 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String num=sc.next();
char[] a=num.toCharArray();
int max=a.length-1;
for (int i = 0; i <=max; i++) {
char tap=a[i];
a[i]=a[max];
a[max]=tap;
max--;
}
for (int j = 0; j < a.length; j++) {
System.out.print(a[j]);
}
}
}