• 关于String的一些基础小题目


    需求一:从键盘输入一串字符串,统计数字,字母,空格,其它字符的个数

     1 import java.util.Scanner;
     2 
     3 public class Q1 {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         //从键盘输入一串字符串,统计数字,字母,空格,其它字符的个数
     8         Scanner sc=new Scanner(System.in);
     9         String str=sc.next();
    10         int n=str.length();
    11         int englishchar=0,number=0,blank=0,others=0; //字母,数字等类型的个数初始化
    12         for(int i=0;i<n;i++){
    13              if((str.charAt(i)>='A'&&str.charAt(i)<='Z')||(str.charAt(i)>='a'&&str.charAt(i)<='z')){ //判断是不是a-z或者A-Z的字母
    14                  englishchar++;
    15              }else if(str.charAt(i)==32){  //判断是不是空格
    16                  blank++;
    17              }else if(str.charAt(i)>=48&&str.charAt(i)<=57){ //判断是不是数字
    18                  number++;
    19             }else {
    20                 others++;
    21             }
    22          }
    23          System.out.println("字母个数:"+englishchar);
    24          System.out.println("数字个数:"+number);
    25          System.out.println("空格个数:"+blank);
    26          System.out.println("其它字符个数:"+others);
    27     }
    28 
    29 }

     需求二:从键字输入一个字符串(由英文字母组成),
                将该字符串中所有的字母改成该字母的下一个字母,如b改成c,字母z改为a要求,大小写不变

    import java.util.Scanner;
    
    public class Q2 {
    
        public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       System.out.println("输入一个英文字符串:");
       String str=sc.next();
       char str2='a';
       for (int i=0;i<str.length();i++){   
            str2=(char) (str.charAt(i)+1);   //将位置上的字母对应的数字+1,然后再转成char
            if(str.charAt(i)=='z'){          //如果位置上的字母是z,那就不是+1.而是把a赋值给这个位置
                str2='a';
            }
            System.out.print(str2);
       }
        }
    
    }
    public class Q3 {
     // 需求三:有一个字符串”hello world,hello,java”,统计这段话中字符串”ll”出现的次数
        public static void main(String[] args) {
            String str="hello world,hello,java";
    int n=str.length(); String str2="ll";
    int n2=str2.length(); int count=0;
    for(int i=0;i<n-n2;i++){ if(str2.equals(str.substring(i,n2+i))){ count++; } } System.out.print("字符串“ll”出现的次数:"+count); } }

    需求四:控制台随机产生一个6位数的验证码(包含数字,大小写字母),输入验证码,
                  如果输入正确,提示验证码正确,否则提示验证码错误

    import java.util.Random;
    import java.util.Scanner;
    
    public class Q4 {
    
        public static void main(String[] args) {
            
            Random rd = new Random();
            String str = "";
            
            for (int i = 0; i < 6; i++) {  //循环6次,产生6个元素
                int n = rd.nextInt(3);     //随机产生三种情况分别代表数字,大写字母,小写字母
                switch (n) {
                case 0:{
                    int a=rd.nextInt(10);
                    str+=a;
                    break;    
                }            
                case 1:{
                    char b=(char)(rd.nextInt(26)+65);
                    str+=b;
                    break;    
                }    
                case 2:{
                    char c=(char)(rd.nextInt(26)+97);
                    str+=c;
                    break;    
                }    
                default:
                    break;
                }
            }
            System.out.println("随机验证码:"+str);
            //输入验证码
            Scanner sc=new Scanner(System.in);
            System.out.print("输入验证码:");
            String input=sc.next();
    //比较输入的验证码是否正确
    if(input.compareToIgnoreCase(str)==0){ System.out.print("验证码正确!"); }else { System.out.print("验证码错误!!!"); } } }

     需求五:对一个字符串里的字符进行排序

    public static void main(String[] args)  {
            // 对一个字符串进行排序
          String str="asdfghj";
          System.out.println("对"+str+"进行排序");
          //字符串是final类型不可进行改变,需要先把string改成char数组  
          char[]arr=new char[str.length()];
          for(int i=0;i<str.length();i++){
             arr[i]=str.charAt(i);
             System.out.print(arr[i]+"	");
          }
          System.out.println();
    //开始冒泡
    char n='0'; for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j < arr.length-1-i; j++) { if(arr[j]>arr[j+1]){ n=arr[j]; arr[j]=arr[j+1]; arr[j+1]=n; } } } for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } }

    需求六:对一个字符串数组进行排序

    public static void main(String[] args)  {
            // 对一个字符串数组进行排序
            String []strarr={"zsd","ffbg","dfges"};
            
            for(int i=0;i<strarr.length;i++){
                System.out.print(strarr[i]+"	");
            }
            System.out.println();
            String n="";
             for (int i = 0; i <strarr.length-1; i++) {
                    for (int j = 0; j < strarr.length-1-i; j++) {
                        if(strarr[j].compareToIgnoreCase(strarr[j+1])>0){
                            n=strarr[j];
                            strarr[j]=strarr[j+1];
                            strarr[j+1]=n;
                        }
                    }
                }
             for(int i=0;i<strarr.length;i++){
                    System.out.print(strarr[i]+"	");
                }
        }
  • 相关阅读:
    mybatis N+1问题解决
    Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    HBuilder打包ios
    关于JavaScript/TypeScript中的setTimeout和setInterval
    白色透明渐变css
    AntV 在小程序中的使用
    AntV 在h5页面中的使用
    js处理后端返回超过16位大数字方案(network中preview和response返回不一致)
    m站taro编译css的时候有些属性会被编译掉,如果遇到这个问题,用第一行代码,写到无法编译的代码上面
  • 原文地址:https://www.cnblogs.com/zhangxiong-tianxiadiyi/p/10785116.html
Copyright © 2020-2023  润新知