关于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]+"	");
            }
    }
原文地址:https://www.cnblogs.com/zhangxiong-tianxiadiyi/p/10785116.html