注册 登录
编程论坛 JAVA论坛

问题:今天我在用substring(index)时,搞了很久想输出最长的前缀相同字符串,最后用substring(0,index)才输出来了

bug娃娃 发布于 2019-05-12 17:32, 4724 次点击
我很疑惑这两个不是用法差不多吗?
求解疑
12 回复
#2
林月儿2019-05-12 18:07
substring(int beginIndex)
Returns a new string that is a substring of this string.

substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.

输出最长的前缀相同字符串?什么意思?作业还是突然的想法?
#3
bug娃娃2019-05-13 07:58
是作业啦,我在那里搞了半个小时,他就是会全部输出来,不会是我想要的子串,然后我改了一下起始位置,就得行了,我就以为他们要特殊用呢
#4
bug娃娃2019-05-13 08:00
回复 2楼 林月儿
就是你从键盘输入两个字符串,然后输出这两个字符串之中最长的前缀相同的字符串
#5
林月儿2019-05-13 08:13
你怎么写的?能发出来看看?
#6
bug娃娃2019-05-13 11:46
等会行不?
#7
bug娃娃2019-05-13 13:40
回复 5楼 林月儿
//最长的共同前缀
import java.time.Scanner;
public class Test{
    public static void main(String[] args){   
             //create a Scanner
            Scanner input = new Scanner(System.in);
            
            System.out.print("Enter the first string:");
            String ch1 = input.nextLine();
         
            System.out.print("Enter the second string:");
            String ch2 = input.nextLine();
            int len1 = ch1.length();
            int len2 = ch2.length();
            
            int index = 0;
            for(int i = 0;i < len1 && i < len2;i++) {
             /*
                 if(ch1.substring(0).compareTo(ch2.substring(0)) != 0) {
                     System.out.println(ch1 + " and " + ch2 + " have no common prefix");
                     break;
                 }   
                 */                          
                 if(ch1.substring(0,i).compareTo(ch2.substring(0,i)) == 0) {
                     index = i;
                 }
                 else
                     break;
          }
            System.out.println("The common prefix is " + ch2.substring(0,index));
            input.close();
        }
}
#8
林月儿2019-05-13 14:35

写的还行,不过
import java.time.Scanner;?
你确定?
#9
bug娃娃2019-05-13 15:17
回复 8楼 林月儿
不对,我写错了
#10
bug娃娃2019-05-13 15:21
回复 9楼 bug娃娃
那姐姐,这两个东东区别呢?你在上面说的,我觉得他们没有什么区别,就是起始位置书写不一样,那为什么用Subsring(index)的输出就不能输出我想要的最长前缀字符串呢?
#11
bug娃娃2019-05-13 15:21
我又回复错人了
#12
林月儿2019-05-13 15:58
你有没有发现,两个方法的结束索引不一定相同呢
区别也就是多了的那个结束索引参数
#13
bug娃娃2019-05-13 16:10
回复 12楼 林月儿
喔喔,那我以后用他的时候注意点
谢谢,姐姐哈
1