java两个字符串前缀_java – 找到两个字符串的最长公共前缀

我想找到两个字符串的最长公共前缀.

有没有办法循环我的最后几个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

代码应将Welcome作为公共前缀返回.

解决方法:

试试这个.我想这就是你想要实现的目标.如果这是正确的,我会在稍后补充解释

import java.util.*;

import java.lang.*;

import java.io.*;

class Ideone

{

public static void main (String[] args) throws java.lang.Exception

{

String s = "Hello Wo";

String s2 = "Hello World";

String small,large;

if(s.length() > s2.length())

{small = s2;large = s;}

else

{small = s;large = s2;}

int index = 0;

for(char c: large.toCharArray())

{

if(index==small.length()) break;

if(c != small.charAt(index)) break;

index++;

}

if(index==0)

System.out.println(""+s+ " and "+s2+ " have no common prefix");

else

System.out.println(large.substring(0,index));

}

}

编辑:

>我找到较大的字符串并选择它作为循环的外部字符串

> toCharArray()将字符串转换为字符,以便您可以使用Java的foreach循环遍历字符串中的每个字符(更多click[1])

>在循环内部,您应该在两个条件下退出

>字符串的结尾(我使用长度来查找是否到达较小的字符串的末尾)

>两个字符串之间不再匹配字符

>你增加索引,直到你在上述某个条件中爆发

>当你退出for循环时,index将包含两个字符串连续相等的最后一个索引.

>如果index = 0.只说不匹配,否则从0开始打印字符直到索引

标签:java,loops,if-statement,string

来源: https://codeday.me/bug/20190517/1120129.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces 427 D. Match amp; Catch

后缀数组.... 在两个串中唯一出现的最小公共子串 D. Match & Catchtime limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard outputPolice headquarter is monitoring signal on different frequency levels. They have got two …

gwt 同步和异步_GWT Spring和Hibernate进入数据网格世界

gwt 同步和异步利用Infinispan Data Grid的功能最大化Hibernate性能。 一个GWT , Spring , JPA , Hibernate , Infinispan集成教程。 在本教程中,我们将讨论如何将Infinispan用作Hibernate二级缓存提供程序。 Infinis…

java分页 jar_零基础学java之javaEE,分页

【分页】一 分页1.1分页概念引入什么是分页?分页(英语:Paging),是一种操作系统里存储器管理的一种技术,可以使电脑的主存可以使用存储在辅助存储器中的数据。操作系统会将辅助存储器(通常是磁盘)中的数据分区成固定大小的区块,称…

查看修改MySQL字符集

查看修改MySQL字符集 http://blog.sina.com.cn/s/blog_70ac6bec01016fts.html 查看修改MySQL字符集 (2012-08-22 09:53:21) 转载▼标签: 字符集 mysql数据库 mysql字符集查看 mysql启动命令 修改mysql字符集 分类: 网站开发MySQL字符集多种多样…

java上传文件需要的依赖_SpringBoot使用commons-fileupload上传文件的类

网上找了一些,都是基本介绍,没有直接就可以使用类,在实际工作当中都有适合当前项目的上传文件的方法,本人写了一个类,比较基础,但呆以满足项目的上传文件功能,使用了commons-fileupload这个组件…

ArcGIS for Android示例解析之离线地图-----LocalTiledLayer

转自:http://blog.csdn.net/wozaifeiyang0/article/details/7327423 LocalTiledLayer 看到这个标题是否是很激动,如题,该示例就是添加一个离线地图,这应该是很多开发人员期盼已久的功能了吧,正式版一处这个应该是一个很…

md5 算法java实现_java实现MD5算法

import java.security.MessageDigest;/** 加密工具*author 刘彦青***/public class EncryptUtil {/** MD5加密** param jiami* 源字符串* return 加密后的字符串 */public final static String md5(String jiami) {char hexDigits[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,…

wikioi 1017--乘积最大

给定一个数串,以及K,求对这个数串K划分的乘积最大值。 DP思路:一开始肯定想到的是递归,假设在某两个字符间有一个乘号,那么乘积最大就是乘号两边的区间接着划分的乘积最大值。 于是状态空间表示如下dp[i][k]表示从0~i之…

java在线找错_平台配置及测试错误提示及解决方案

平台配置错误提示及解决方案开发者在点击提交服务的时候可能会遇到以下各种各样的问题,本文列举出部分平台会弹出的提示,以便解决提交出现的问题。1、 请完成分发国家配置原因:未选择分发国家或未保存解决:在配置-发布国家中&…

d3 mysql_javascript – 在d3可视化中访问MySQL数据库

我需要一些关于d3和MySQL的帮助.以下是我的问题:我有数据存储在MySQL中(例如:关键字及其频率).我现在想用d3将其可视化.据我所知,d3需要json文件作为输入.我的问题是:如何从d3脚本访问这个MySQL数据库?我能想到的一种方法是&#…

resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目

resteasy开发Web服务的RESTful方法不断受到越来越多的关注,并且似乎正在将SOAP淘汰。 我不会讨论哪种方法更好,但是我相信我们都同意REST更轻量级。 在本教程中,我将向您展示如何使用RESTeasy开发RESTful服务以及如何将它们部署在Tomcat服务器…

java httpserver 多个接口_多个Servlet之间数据共享实现方案

1.数据共享:OneServlet工作完毕后,将产生数据交给TwoServlet来使用Servlet规范中提供四种数据共享方案1.ServletContext接口2.Cookie类3.HttpSession接口4.HttpServletRequest接口ServletContext接口:1.介绍:1)来自于Servlet规范中一个接口。…

【Java心得总结六】Java容器中——Collection

在【Java心得总结五】Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库。而在这篇博文中,我想着重对容器类库中的Collection容器做一个着重的探索与总结。 Collection:一个独立元素的序…

php 文章读取_php实现获取文章内容第一张图片的方法

本文实例讲述了php实现获取文章内容第一张图片的方法。分享给大家供大家参考。具体分析如下:采用php获取文章内容的第一张图片方法非常的简单,我们最常用的是使用正则了,感兴趣的朋友可以参考一下下面这段代码。以下是关于选取文章中第一张图…

相对路径

当前程序的所在目录textBox1.Text AppDomain.CurrentDomain.BaseDirectory; 返回D:\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\http://www.cnblogs.com/SissyNong/archive/2009/09/22/1571752.html 当前程序的完整路径textBox1.Text System.Diagnostics.…

php怎么传json数据_php和js如何通过json互相传递数据相关问题探讨

当我们在结合php和javascript实现某些功能时,经常会用到json。json是js的一种数据格式,可以直接被js解析。而php无法直接读取json数据,但是php提供了json_decode函数来对json数据进行转化,从而可以被php脚本访问。同时&#xff0c…

Java 8中的策略模式

这是两个有关如何使用Java 8功能样式以及Cyclops模式匹配和Hamcrest库来实现策略模式设计的示例。 PrintDependingOnInput方法是一种策略,该策略将根据传递的日志在System.println中显示一些消息。 AddPrefix是另一种策略,它将根据邮件内容为邮件添加前…

昨天帮同学的学校写了首校歌

转载于:https://www.cnblogs.com/del/p/3792526.html

php做一个微信退款,PHP实现微信申请退款流程实例代码

前面讲了怎么实现微信支付,详见博文:php实现微信支付(jsapi支付)流程 和ThinkPHP中实现微信支付(jsapi支付)流程。由于业务需求,还需要有微信退款,经过研究和摸索,也终于搞定了。前期准备:当然是搞定了微信…

gwt格式_使用Spring Security保护GWT应用程序的安全

gwt格式在本教程中,我们将看到如何将GWT与Spring的安全模块(即Spring Security)集成。 我们将看到如何保护GWT入口点,如何检索用户的凭据以及如何记录各种身份验证事件。 此外,我们将实现自定义身份验证提供程序&#…