Java 蓝桥杯 字符串对比

题目描述

给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  1:两个字符串长度不等。比如 Beijing 和 Hebei
  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
  4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
  编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。

输入
输入描述:
  包括两行,每行都是一个字符串
输入样例:
BEIjing
beiJing

输出

输出描述:
  仅有一个数字,表明这两个字符串的关系编号
输出样例:
3

HINT:时间限制:1.0s 内存限制:512.0MB

解题思路

主要就是判断四种情况,第一种用java自带的length函数就能解决,第二种用equals函数,equals区分大小写来比较,第三种用equalsIgnoreCase函数,equalsIgnoreCase不区分大小写来比较,第四种就是不满足第三种时的情况。

代码

import java.util.Scanner;

public class Main {
    
    

    public static void main(String[] args) {
    
    
        Scanner scanner=new Scanner(System.in);
        String s=scanner.nextLine();//输入字符
        String s1=scanner.nextLine();
        if (s.length()!=s1.length()){
    
     //判断长度是否相等
            System.out.println("1");
        }else {
    
    
            if (s.equals(s1)){
    
     //在区分大小写的情况下 判断是否相等
                System.out.println("2");
                return; //注意结束运行 不然就会输出2和3
            }
            if (s.equalsIgnoreCase(s1)){
    
    //在不区分大小写的时候判断是否相等
                System.out.println("3");
            }else {
    
    
                System.out.println("4");//判断不区分大小写的时候内容是否相等
            }
        }
    }
}

流程图

Created with Raphaël 2.3.0 开始 输入字符串s和s1 若字符串s的长度不等于字符串s1的长度 输出1 结束 在区分大小写的情况下若字符串s等于字符串s1 输出2 在不区分大小写的情况下若字符串s等于字符串s1 输出3 输出4 yes no yes no yes no

Guess you like

Origin blog.csdn.net/joreng/article/details/121572994