Искам да намеря най-дългия общ префикс на два низа. Има ли начин да завъртя последните си няколко оператора if, така че да мога да завърша на последните знаци, които не съвпадат един с друг?
System.out.println("Enter the first string: ");
String s = input.nextLine();
System.out.println("Enter the second string: ");
String s2 = input.nextLine();
//check if first characters are same
if (s.charAt(0) != s2.charAt(0)) {
System.out.println(""+s+ " and "+s2+ " have no common prefix");
System.exit(0);
}
if (s.charAt(0) == s2.charAt(0))
System.out.print(" "+s.charAt(0));
if (s.charAt(0) == s2.charAt(0))
System.out.print(" "+s.charAt(1));
if (s.charAt(0) == s2.charAt(0))
System.out.print(" "+s.charAt(2));
}
}
Пример:
Enter first string: Welcome to c++
Enter second string: Welcome to java
Кодът трябва да върне Добре дошли в като общ префикс.
abc1
иabc2
кодът ви трябва да казва, че първите 3 знака съвпадат и ако саabcd1
иabcd2
, тогава първите четири и така нататък... това ли е идеята? - person Leron_says_get_back_Monica   schedule 19.03.2014