A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package cn.itcast.字符串前缀比较;

  2. import java.util.Scanner;

  3. /*
  4. 编写一个main方法,提示用户输入两个字符串,然后显示它们共同的前缀,
  5. 如果两个字符串没有共同的前缀,就提示用户"没有共同的前缀"。
  6. 例如,"heimaNB"和"heimaVeryNB"的共同前缀是"heima"。

  7. * */
  8. public class Demo {
  9.         public static void main(String[] args) {
  10.                 Scanner sc = new Scanner(System.in);
  11.                 System.out.println("请输入第一个字符串");
  12.                 String str1 = sc.next();
  13.                 System.out.println("请输入第二个字符串");
  14.                 String str2 = sc.next();
  15.                
  16.                 char[] ch1 = str1.toCharArray();
  17.                 char[] ch2 = str2.toCharArray();

  18.        
  19.                 for(int i =0;i<ch1.length;i++){
  20.                         char f1 = ch1[0];
  21.                         char f2 = ch2[0];
  22.                         if(f1!=f2){
  23.                                 System.out.println("没有共同的前缀");
  24.                                 break;
  25.                         }else if(ch1[i]==ch2[i]){
  26.                                 System.out.print(ch1[i]);
  27.                         }       
  28.                 }
  29.         }
  30. }
复制代码

2 个回复

倒序浏览
//上面如果第第一次输入比第二次输入长,会产生空指针异常,以下是改进版本
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 Scanner sc = new Scanner(System.in);
  4.                 System.out.println("请输入第一个字符串");
  5.                 String str1 = sc.next();
  6.                 System.out.println("请输入第二个字符串");
  7.                 String str2 = sc.next();
  8.                
  9.                 char[] ch1 = str1.toCharArray();
  10.                 char[] ch2 = str2.toCharArray();

  11.        
  12.                 for(int i =0;i< (ch1.length > ch2.length ? ch1.length:ch2.length);i++){
  13.                         char f1 = ch1[0];
  14.                         char f2 = ch2[0];
  15.                         if(f1!=f2){
  16.                                 System.out.println("没有共同的前缀");
  17.                                 break;
  18.                         }else if(ch1[i]==ch2[i]){
  19.                                 System.out.print(ch1[i]);
  20.                         }
  21.                        
  22.                 }       
  23.         }
  24. }
复制代码
回复 使用道具 举报
已看,谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马