Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中获取字符串的一部分并将其打印出来?_Java - Fatal编程技术网

如何在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”