1.用Java代码编写计算两个字符串的相似度,用百分比来表示相似度的结果。要求提供完整可运行的Java代码
时间: 2024-05-04 13:22:50 浏览: 47
以下是一个计算两个字符串相似度的示例代码,使用百分比表示相似度的结果:
```
import java.util.Arrays;
public class StringSimilarity {
public static void main(String[] args) {
String s1 = "Hello world!";
String s2 = "Hello, world!";
double similarity = calculateSimilarity(s1, s2);
System.out.println("相似度为:" + similarity + "%");
}
public static double calculateSimilarity(String s1, String s2) {
double similarity;
char[] a = s1.toCharArray();
char[] b = s2.toCharArray();
int[][] dp = new int[a.length + 1][b.length + 1];
for (int i = 1; i <= a.length; i++) {
for (int j = 1; j <= b.length; j++) {
if (a[i - 1] == b[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
} else {
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
}
}
}
similarity = ((double) dp[a.length][b.length]) / Math.max(a.length, b.length) * 100;
return similarity;
}
}
```
注:该代码使用了动态规划算法,可计算任意两个字符串的相似度。