第五章第五十一题(最长的共同前缀)(Longest common prefix)

*5.51(最长的共同前缀)编写一个程序,提示用户输入两个字符串,显示两个字符串最长的共同前缀。

下面是运行示例:
Enter the first string: Welcome to C++
Enter the second string: Welcome to programming
The common prefix is Welcome to
Enter the first string: Atlanta
Enter the second string: Macon
Atlanta and Macon have no common prefix

*5.51(Longest common prefix) Write a program that prompts the user to enter two strings and displays the largest common prefix of the two strings.

Here are some sample runs:
Enter the first string: Welcome to C++
Enter the second string: Welcome to programming
The common prefix is Welcome to
Enter the first string: Atlanta
Enter the second string: Macon
Atlanta and Macon have no common prefix

下面是参考答案代码:

import java.util.*;

public class LongestCommonPrefixQuestion51 {
	public static void main(String[] args) {
		int lengthUserString1, lengthUserString2;
		String userString1, userString2, prefixString = "";

		Scanner inputScanner = new Scanner(System.in);

		System.out.print("Enter the first string: ");
		userString1 = inputScanner.nextLine();
		lengthUserString1 = userString1.length();

		System.out.print("Enter the second string: ");
		userString2 = inputScanner.nextLine();
		lengthUserString2 = userString1.length();

		for (int strIndex = 0; strIndex < (lengthUserString1 > lengthUserString2 ? lengthUserString2
				: lengthUserString1); strIndex++) {
			if (userString1.charAt(strIndex) == userString2.charAt(strIndex)) {
				prefixString += userString1.charAt(strIndex);
				continue;
			}
			break;
		}

		if (prefixString.length() != 0)
			System.out.println("The common prefix is " + prefixString);
		else
			System.out.printf("%s and %s have no common prefix", userString1, userString2);

		inputScanner.close();
	}
}

运行效果:
在这里插入图片描述
在这里插入图片描述

注:编写程序要养成良好习惯
1.文件名要用英文,具体一点
2.注释要英文
3.变量命名要具体,不要抽象(如:a,b,c等等),形式要驼峰化
4.整体书写风格要统一(不要这里是驼峰,那里是下划线,这里的逻辑段落空三行,那里相同的逻辑段落空5行等等)
5.普通变量,方法名要小驼峰,类名要大驼峰,常量要使用全部大写加上下划线命名法
6.要学习相应的代码编辑器的一些常用快捷键,如:快速对齐等等

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值