如何在Java中获取字符串的一部分并将其打印出来?
例如,我将从用户处获取未指定数量的字符的输入,并将它们添加到字符串中,然后使用如何在Java中获取字符串的一部分并将其打印出来?,java,Java,例如,我将从用户处获取未指定数量的字符的输入,并将它们添加到字符串中,然后使用if input1.toLowerCase().startsWith(input2.toLowerCase())来检测两个字符串的第一部分是否相同。在这种情况下,input1和input2都是由扫描仪拾取的字符串 如何打印每个字符串的相同部分 例如,如果我为input1输入“Hi my name is”,为input2输入“Hi my name”,它应该输出“Hi my name” 编辑:为了澄清,我将字符串转换为小写
if input1.toLowerCase().startsWith(input2.toLowerCase())
来检测两个字符串的第一部分是否相同。在这种情况下,input1
和input2
都是由扫描仪拾取的字符串
如何打印每个字符串的相同部分
例如,如果我为input1
输入“Hi my name is”,为input2
输入“Hi my name”,它应该输出“Hi my name”
编辑:为了澄清,我将字符串转换为小写,然后尝试将两个字符串与
startsWith
大小写在这个问题上无关紧要要从两个字符串中找到最大的起始字符串,需要分别测试每个字符:
int i;
for (i = 0; i < str1.length() && i < str2.length() && str1.charAt(i) == str2.charAt(i); i++);
String common = str1.substring(0, i);
inti;
对于(i=0;i
您的逻辑应该是这样的:
- 首先检查输入1和输入2是否相同
- 然后检查input1是否与input2一起启动
- 如果为true,则打印input2
- 否则,请检查是否相反(input2从input1开始)
- 如果为true,则应打印input1
试着自己创建这个代码——这是学习编码的最好方法:反复尝试!请记住,这是软件编程——当您遇到Java编译器错误时,不会发生任何事情 您将只打印input2,因为这是两者之间的共同点,因为您的条件使用startsWith()。好的,这实际上在大多数情况下都有效,除非第一个字符串比第二个字符串长(它去掉了一个字母)。实际上,我可以通过偏移来修复它,但它为什么要这样做呢?@neroone(拼写错误已更正-请参阅最新编辑)对我很有用:如果我设置
String str1=“abcde”;字符串str2=“abc”代码>结果是“abc”