如何在Java中获取字符串的一部分并进行打印?

时间:2015-10-06 02:08:54

标签: java

例如,我会从用户那里获得一个未指定数量的字符的输入并将它们添加到字符串中,然后我使用if input1.toLowerCase().startsWith(input2.toLowerCase()))来检测两个字符串的第一部分是否相同。在这种情况下,input1input2都是使用扫描仪拾取的字符串。

如何打印每个字符串的相同部分?

例如,如果我输入"您好我的名字是" input1和"嗨我的名字"对于input2,它应输出"嗨我的名字"

编辑:为了澄清,我将字符串转换为小写,然后尝试将这两个字符串与startsWith大小写进行比较,这个问题并不重要

2 个答案:

答案 0 :(得分:2)

要从两个字符串中找到最大的起始字符串,您需要分别测试每个字符:

int i;
for (i = 0; i < str1.length() && i < str2.length() && str1.charAt(i) == str2.charAt(i); i++);
String common = str1.substring(0, i);

答案 1 :(得分:0)

你的逻辑应该以这种方式流动:

  • 首先检查input1和input2是否相同
  • 然后检查input1是否与input2一起启动
    • 如果为true,则打印input2
    • 否则,检查是否相反(input2 startsWith input1)
      • 如果为true,则应打印input1

尝试自己创建此代码 - 这是学习编码的最佳方式:反复试验!请记住,这是软件编程 - 当遇到Java编译器错误时,什么都不会爆炸。