@java蓝桥杯B组习题基础篇(30)第15题:字符串对比

@java蓝桥杯B组习题基础篇(30)第15题:字符串对比

关键字:字符串、大小写

问题描述

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

代码:

import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String zifu1=s.next();
String zifu2=s.next();
int changdu1=zifu1.length();
int changdu2=zifu2.length();
if(changdu1>=1&&changdu1<=10&&changdu2>=1&&changdu2<=10){
fangFa(zifu1,zifu2);
}
}
public static void fangFa(String n,String m){
int k=0;
if(n.length()==m.length()){//两个字符串长度相同
if(n.equals(m)){//两个字符串完全相同
k=2;
}else if(banXiangSi(n,m)){//两个字符串在不计的大小写的情况下相同(半相似)
k=3;
}else{//只是长度相同
k=4;
}
}else{//两个字符串完全不相同
k=1;
}
System.out.println(k);
}
public static boolean banXiangSi(String n,String m){//判断两个字符串是否为半相似
boolean t=true;
String newA=n.toLowerCase();
String newB=m.toLowerCase();
if(newA.equals(newB)){
t=true;
}else{
t=false;
}
return t;
}
}

发布了29 篇原创文章 · 获赞 1 · 访问量 1091

猜你喜欢

转载自blog.csdn.net/DAurora/article/details/104278596