String类练习

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]);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/vlucky_long/article/details/108330221