-
2017-10-22 22:16:54
编写一个方法,返回两个字符串共有的前缀。例如,“distance”,“disinfection” 的共同前缀是”dis“。
如果两个字符串没有公共前缀,这个方法返回一个空字符串。
import java.util.Scanner; public class Exercise9_28 { public static void main(String[] args) { System.out.print("please enter two strings:"); Scanner input=new Scanner(System.in); String s1=input.nextLine(); String s2=input.nextLine(); String s3=prefix(s1, s2); System.out.print(s3); } public static String prefix(String s1, String s2) { int a = s1.length(); int b = s2.length(); int c; if (a>=b) { c=b; } else c=a; char[] k=new char[c]; for (int i = 0; i < c; i++) { if (s1.charAt(i)==s2.charAt(i)) { k[i]=s1.charAt(i); } if (s1.charAt(i)!=s2.charAt(i)){ break; } } String str = String.valueOf(k); return str; } }
更多相关内容 -
Qt::获取两个字符串的前缀和后缀的相同部分
2020-07-01 16:45:44//获取两个字符串的开头的相同部分 QString BitTableView::get_same_str_start(QString & str1,QString & str2) { int size = std::min(str1.size(),str2.size()); QByteArray ba = str1.toLatin1(); const char *p1...//获取两个字符串的开头的相同部分 QString BitTableView::get_same_str_start(QString & str1,QString & str2) { int size = std::min(str1.size(),str2.size()); QByteArray ba = str1.toLatin1(); const char *p1 = ba.data(); QByteArray ba2 = str2.toLatin1(); const char *p2 = ba2.data(); int jishu = 0; for(int i = 0;i < size;++i) { if(*p1 != *p2) { break; } ++p1; ++p2; ++jishu; } if(jishu == 0) return ""; else return str1.left(jishu); }
//获取两个字符串的结尾的相同部分 QString BitTableView::get_same_str_end(QString & str1,QString & str2) { int size = std::min(str1.size(),str2.size()); QByteArray ba = str1.toLatin1(); const char *p1 = ba.data(); int len = strlen(p1) - 1; p1 = p1 + len; QByteArray ba2 = str2.toLatin1(); const char *p2 = ba2.data(); len = strlen(p2) - 1; p2 = p2 + len; int jishu = 0; for(int i = 0;i < size;++i) { if(*p1 != *p2) { break; } --p1; --p2; ++jishu; } if(jishu == 0) return ""; else return str1.right(jishu); }
-
java怎么判断两个字符串是否相等
2021-03-08 06:40:40java怎么判断两个字符串是否相等发布时间:2020-06-25 11:22:03来源:亿速云阅读:115作者:Leah这期内容当中的小编将会给大家带来有关java判断两个字符串是否相等的方法,以专业的角度为大家分析和叙述,阅读完这篇...java怎么判断两个字符串是否相等
发布时间:2020-06-25 11:22:03
来源:亿速云
阅读:115
作者:Leah
这期内容当中的小编将会给大家带来有关java判断两个字符串是否相等的方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
java中的基本数据类型判断是否相等,直接使用”==”就行了,相等返回true,否则,返回false。
obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就是要求两个变量所指内存地址相等的时候,才能返回true,每个对象都有自己的一块内存,因此必须指向同一个对象才返回ture。
如果想要自定义两个对象(不是一个对象,即这两个对象分别有自己的一块内存)是否相等的规则,那么必须在对象的类定义中重写equals()方法,如果不重写equals()方法的话,默认的比较方式是比较两个对象是否为同一个对象。
在Java API中,有些类重写了equals()方法,它们的比较规则是:当且仅当该equals方法参数不是 null,两个变量的类型、内容都相同,则比较结果为true。
这些类包括:String、Double、Float、Long、Integer、Short、Byte、、Boolean、BigDecimal、BigInteger等等,太多太多了,但是常见的就这些了,具体可以查看API中类的equals()方法,就知道了。
重写equals()方法的步骤一般如下:
1、先用“==”判断是否相等。
2、判断equals()方法的参数是否为null,如果为null,则返回false;因为当前对象不可能为null,如果为null,则不能调用其equals()方法,否则抛java.lang.NullPointerException异常。
3、当参数不为null,则如果两个对象的运行时类(通过getClass()获取)不相等,返回false,否则继续判断。
4、判断类的成员是否对应相等。往下就随意发挥了。
示例:public class Dog {
private int age;
private String name;
public Dog(int age,String name){
this.age=age;
this.name=name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if(obj==null){
return false;
}
if(this==obj){
return true;
}
if(obj instanceof Dog){
Dog dog=(Dog)obj;
if(dog.age==this.age&&dog.name.equals(this.name)){
return true;
}else{
return false;
}
}
return false;
}
public static void main(String[] args){
Dog dog1=new Dog(12,"wangcai");
Dog dog2=new Dog(12,"wangcai");
Dog dog3=new Dog(16,"wangcai");
System.out.println(dog1.equals(dog2));//true
System.out.println(dog1.equals(dog3));//false
}}
上述就是小编为大家分享的java判断两个字符串是否相等的方法了,如果您也有类似的疑惑,不妨碍参照上述分析进行理解。如果想了解更多相关内容,请关注亿速云行业资讯。
-
返回两个字符串的公共前缀(java上机作业)
2019-11-27 11:05:18(公共前缀)编写返回两个字符串的公共前缀的方法 翻译: 编写返回两个字符串的公共前缀的方法。 例如,“distance”和“disinfection”的公共前缀是“dis”。 方法的标题如下: public static String prefix...(公共前缀)编写返回两个字符串的公共前缀的方法
翻译:
编写返回两个字符串的公共前缀的方法。
例如,“distance”和“disinfection”的公共前缀是“dis”。
方法的标题如下:
public static String prefix(String s1,String s2)
两个字符串没有公共前缀,则该方法返回一个空串。
编写一个主方法,提示用户输入两个字符串并显示他们共同的前缀。代码:
import java.util.Scanner; public class CommenStr { public static String prefix (String s1,String s2) { //获得两串的长度 int len1 = s1.length(); int len2 = s2.length(); //原串串为空 if(len1 <= 0 ||len2 <= 0) { return "NULL"; } //count用来统计公共前缀个数 int count = 0, n = 0; //取最短串的长度,最复杂为短串整体为长串的前缀 if(len1 > len2){ n = len2; } else { n = len1; } //循环比较 for(int i = 0; i < n; i++) { if(s1.charAt(i) == s2.charAt(i)) { //若相同则加1 count++; } else { //因为获得的是前缀,只要有一个不同跳出循环 break; } } //经过比较无公共前缀 if(count == 0) { return "NULL"; } //substring(i,j) 输出该串从i下标到j下标的子串 return s1.substring(0,count); } public static void main(String[] args) { Scanner input = new Scanner(System.in); //输入提示 System.out.println("Please input String s1:"); //获取串1 String s1 = input.nextLine(); //输入提示 System.out.println("Please input String s2:"); //获取串2 String s2 = input.nextLine(); //调用方法 String temp = prefix(s1,s2); //输出 System.out.println("The commen prefix is "+ temp); } }
运行结果:
正常
异常
(1)
(2)
-
java实现“字符串最长公共前缀”
2020-05-23 21:55:03import java.util.*; /** * 最长公共前缀 */ public class LongestSamePrefix { public static void main... // 集合,用于存储输入的字符串 while(true){ // 循环调用输入方法,直到输入end结束循环 String -
查找字符串数组中最长公共前缀
2019-06-17 11:23:24编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入:["dog","racecar","car"] 输出: "" 解释: ... -
Python 学习 第二篇:数据类型(字符串)
2020-12-06 12:12:33字符串是一个字符的、有序的、不可变的序列,用于存储基于文本的信息。字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改。Python没有C语言的字符和字符串之分,只有字符串。从严格意义上说,... -
详解 Python 字符串(一):字符串基础
2021-01-16 20:59:45文章目录1.2. 在 Python 中,字符串就是一串字符的...Python 通过 str 类型提供大量方法来操作字符串,如字符串的替换、删除、截取、复制、连接、比较、查找、分隔等。本文将详细介绍操作字符串的一般方法。 1. 2. ... -
从Python的字符串列表中找到最长的公共前缀的程序
2021-01-14 11:14:55假设我们有一个小写字符串列表,我们必须找到最长的公共前缀。因此,如果输入类似于[“ antivirus”,“逆时针”,“ antigravity”],则输出将为“ anti”为了解决这个问题,我们将遵循以下步骤-按字母顺序对列表中... -
关于在一段字符串中提取所有两个字符中间的字符串
2015-07-23 10:13:38关于在一段字符串中提取所有两个字符中间的字符串这里的提取无非也就是自己写了一个方便自己使用的方法,这个方法里面用到了递归和ref,而使用ref的时候必须得先在调用该方法之前初始化一个值,在调用完该方法以后,... -
scala 字符串函数_Scala字符串连接,子字符串,长度函数
2020-07-08 17:34:52scala 字符串函数Scala String can be defined as a sequence of characters. Today we will look into String concatenation, substring and some other Scala string functions. Scala字符串可以定义为字符序列。 ... -
python字符串操作
2020-12-06 02:58:22字符串简介字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变这里的的改变,指的是声明变量后的真实对象。但如果第二次用到变量,赋值,系统会默认为你新生成一个变量。比如:>>&... -
【JAVA字符串最详细讲解】
2021-01-23 20:19:00JAVA字符串一级目录二级目录三级目录 一级目录 二级目录 三级目录 -
AWK操作字符串的截取
2021-05-11 10:55:45bash的第一个字符从0开始记录;awk的第一个字符从1开始记录;#012345678 ------------Bash#123456789 -------------Awk以下是案例说明:[root@Slave02 shell]# vi substring-extraction.sh#!/bin/bashString=23s... -
KMP —— 字符串分析算法
2020-11-30 07:34:01`快速`的从一个`主串`中找出一个你想要的`子串` —— 这里面的`主串`就是 `source 串`,而要寻找的 `子串` 就是 `pattern 串` 也叫 `模式串`。 -
Java 字符串 正则表达式
2018-10-31 11:29:59字符串 String类:最常用的字符串。初始化后不可改变,String变量的重新赋值其实是重新分配内存。 StringBuffer类:多线程环境中,可变字符串类。 StringBuilder类:单线程环境中,可变字符串类。 正则表达式 ... -
1.12 字符串比较(3种方法)
2020-10-02 12:24:08equals() 方法将逐个地比较两个字符串的每个字符是否相同。如果两个字符串具有相同的字符和长度,它返回 true,否则返回 false。对于字符的大小写,也在检查的范围之内。equals() 方法的语法格式如下: str1.equ -
python字符串列表元组序列操作
2020-12-06 04:57:58Table of Contents generated with DocTocpython系列-字符串、列表、元组的操作序列的访问及运算符序列是为满足程序中复杂的数据表示,python支持组合数据类型,可以将一批数据作为一个整体进行数据操作,这就是数据... -
Python 字符串
2020-12-09 22:05:31字符串是 Python 中最常用的数据...'var2= "Runoob"Python字符串访问及运算符操作符描述实例+字符串连接a + b 输出结果: HelloPython*重复输出字符串a*2 输出结果:HelloHello[]通过索引获取字符串中字符a[1] 输... -
怎么给字符串加索引
2020-09-20 10:37:35怎么给字符串加索引 比如说,要给邮箱这样的字段加索引,这样长字符串加索引会有什么样的问题? 前缀索引,如果长度长,会浪费大量的空间,同时增加额外的查询成本。 create table SUser( ID bigint unsigned ... -
Python中的字符串详解
2021-09-07 16:11:17字符串(String)是...Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。 通过将字符括在单引号或双引号中来创建字符串。Python中甚至可以使用三引号,但通常用于表示多行字符串和文档字符串。 -
Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度
2020-05-18 22:13:361. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问。...内置的 len 函数可以返回一个字符串中的字节数目(不是 rune 字符数目) -
Python学习笔记(一)之基本元素:变量,数字和字符串
2020-12-18 02:19:58python中所有数据--布尔值,整型,浮点数,字符串,甚至大型数据结构,函数以及程序--都是以对象的形式存在的。对象有不同的类型,类型决定了可以对它进行的操作。对象的类型还决定了它承载的数据是允许被修改的变量... -
Java的String字符串内容总结
2021-02-12 14:35:34String--字符串获取字符串的长度使用Sring类的length()方法可获取字符串对象的长度,例:str.length();str代表指定的字符串对象;返回值为返回指定字符串的长度。例:获取字符串中指定字符的索引位置String类提供了... -
halcon语法之HALCON字符串
2020-09-14 14:31:04i1 := 123KaTeX parse error: Expected 'EOF', got '#' at position 2: '#̲o' //8进制,0为前缀 …’#x’ //16进制,0x为前缀,7b为赋值 i3 := 123KaTeX parse error: Expected 'EOF', got '#' at position 2: '#̲... -
Csharp进阶:字符串常用方法
2017-08-19 20:38:38字符串常用方法总结 -
python的字符串类型
2021-12-03 23:17:30unicode类型则是用unicode编码的字符串,这个时候一个字符是对应两个字节。 直接赋值字符串,类型为str,str为字节串,会按照开头的encoding来编码成一个个的字节。 赋值的时候在字符串前面加个u,类型则为unic -
C和C++安全编码笔记:字符串
2020-04-05 13:11:44安全包含开发和配置两方面的元素。开发安全要求具有安全的设计和无瑕疵的实现;配置安全则要求系统和网络被安全地予以部署以免遭攻击。 安全策略(security policy):指系统管理员或网络管理员为使系统免遭威胁而... -
python字符串操作函数总结
2019-04-03 18:50:121.字符串基本操作: 操作格式/函数名称 功能 参数 ... 获取字符串中指定索引位置的字符 idx:要获取的索引位置 结果是包含了单个字符的字符... -
一文弄懂字符串编码
2019-07-29 19:18:04在计算机和电信领域中,字符(Character)是一个信息单位。对使用字母系统或音节文字等自然语言,它大约对应为一个音位、类音位的单位或符号。简单来讲就是一个汉字、假名、韩文字……,或是一个英文、其他西方语言...