第四章题的总结

4.4
在这里插入图片描述
这道题就是理清思路,每个功能用函数来实现就好

/*
如何判断一个字符是数字字符,Character.Digit(str,charAt(i))
如何判断一个字符是字母      Character.isLetter(str,charAt(i))
*/
import java.util.Scanner;
class test44{
public static void main(String [] args){
    System.out.print("请输入密码 ");
    Scanner scanner=new Scanner(System.in);  
    String str=scanner.next(); 
    if(youxiaomima(str)){
        System.out.print("密码是正确的 "+youxiaomima(str));
    }
    else {
        System.out.print("密码是错误的 "+youxiaomima(str));
    }
    }
    
public static boolean youxiaomima(String str){
 return mimaeight(str)&&mimaOnly(str)&&mimazhishao(str);
}
public static boolean mimaeight(String str){
  if(str.length()>=8){
      return true;
  }
  else {
      return false;
  }
}
public static boolean mimaOnly(String str){
    boolean flag=false;
    for(int i=0;i<str.length();i++){
        if(!Character.isDigit(str.charAt(i))&&!Character.isLetter(str.charAt(i))){
            flag=false;
            return  flag;
        }
        else{
            flag=true;
            return true;
        }
    }
    return flag;
}
public static boolean mimazhishao(String str){
    int count=0;
    boolean flag=false;
    for(int i=0;i<str.length();i++){
        if(Character.isDigit(str.charAt(i))){
            count++;
            if(count>=2){
               flag=true;
                return flag;
            }
        }
    }
    return flag;
}

}

4.8
在这里插入图片描述
这道题就比较简单了,用下s.charAt(i)就行

import java.util.Scanner;
class test48{
public static void main(String[] args){
  Scanner scanner=new Scanner(System.in);
  System.out.print("输入字符串 ");
  String str1=scanner.next();
  System.out.print("输入字符 ");
  char  c=scanner.next().charAt(0);
  count(str1,c);
}
public static void count(String str1,char c){
    int count=0;
    for(int i=0;i<str1.length();i++){
        if(str1.charAt(i)==c){
           count++;
        }
    }
    System.out.print(count);
}


}

在这里插入图片描述
这道题考查就是字符串的反向遍历

import java.util.Scanner;
class test49{
public static void main(String[] args){
    Scanner scanner =new Scanner(System.in);
    String str1=scanner.next();  
      reverse(str1);
}
public static void reverse(String str1){
    String str="";
  for(int i=str1.length()-1;i>=0;i--){
    str=str+str1.charAt(i);
  }
  System.out.print(str);
}

}

4.10
在这里插入图片描述
这道题用ASCII吗做就行了,看代码哦

import java.util.Scanner;
class test10{
public static void main(String[] args ){
  Scanner scanner =new Scanner(System.in);
  System.out.print("请输入字符串 ");
   String str=scanner.next();
    upper(str);
}
public static void upper(String str){
    int count=0;
    for(int i=0;i<str.length();i++){
        char c=str.charAt(i);
        if(c>='A'&&c<='Z'){
           count++;
        }
    }
    System.out.print(count);
}
}

4.11这道题考查字符串指针的应用,还是思想题
在这里插入图片描述

import java.util.Scanner;
class test11{
    public static void main(String[] args){
    System.out.print("输入字符串 ");
     Scanner scanner =new Scanner(System.in);
     String str1=scanner.next();
     System.out.print("输入字符串 ");
     Scanner scanner1 =new Scanner(System.in);
     String str2=scanner1.next();
       preef(str1, str2);
    }
    public static void preef(String str1,String str2){
        if(str1.length()>=str2.length()){
            for(int len=str2.length();len>=1;len--){
                int i=0;
                int j=len-1;
             String sub=str2.substring(i,j+1);
                 if(str1.contains(sub)){
                   System.out.print("最大前缀是  "+sub);
                   break;
                 }
            }
        }
        else{
            for(int len=str1.length();len>=1;len--){
                int i=0;
                int j=len-1;
             String sub=str1.substring(i,j+1);
                 if(str2.contains(sub)){
                   System.out.print("最大前缀是  "+sub);
                   break;
                 }
            }
        }
        }
       
    }

未完待续!

发布了52 篇原创文章 · 获赞 0 · 访问量 1210

猜你喜欢

转载自blog.csdn.net/qq_37244548/article/details/104377881