黑马程序员技术交流社区

标题: 闲来一道题,判断输入的两个文件的前缀是否相同 [打印本页]

作者: Aaron9527    时间: 2016-6-10 00:43
标题: 闲来一道题,判断输入的两个文件的前缀是否相同
  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. }
复制代码

作者: Aaron9527    时间: 2016-6-10 00:58
//上面如果第第一次输入比第二次输入长,会产生空指针异常,以下是改进版本
  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. }
复制代码

作者: 孟小垚    时间: 2016-6-10 10:52
已看,谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2