写一段java代码,接收给定的两个字符串str1,str2。用空格分开接收
时间: 2024-02-11 22:09:29 浏览: 22
好的,以下是实现此功能的Java代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = scanner.next();
System.out.print("请输入第二个字符串:");
String str2 = scanner.next();
System.out.println("您输入的两个字符串分别是:" + str1 + " " + str2);
}
}
```
运行此代码后,程序会提示您输入两个字符串,您只需要在控制台输入即可。程序会将您输入的两个字符串以空格分开,并输出给您。
相关问题
给定一个字符串数组strs,再给定两个字符串str1和str2,返回在strs中str1和str2的最
假设给定的字符串数组strs为["abc", "def", "ghi", "abcde", "abcdefg"],str1为"abc",str2为"def"。
我们可以使用两个变量来记录str1和str2的最大距离,初始值设置为无限大。然后遍历字符串数组strs,若当前字符串等于str1或str2,则更新对应的最近位置。遍历完成后,我们可以得到str1和str2字符串在数组strs中的最小距离。
具体步骤如下:
1. 初始化最小距离为无限大,str1的位置为-1,str2的位置为-1。
2. 遍历字符串数组strs,对于每个字符串strs[i]:
- 若strs[i]等于str1,则更新str1的位置为i。
- 若strs[i]等于str2,则更新str2的位置为i。
- 若str1和str2的位置都已经更新,则计算当前位置和最小距离的差值,更新最小距离。
3. 返回最小距离。
按照上述步骤进行计算,我们可以得到str1和str2在数组strs中的最小距离为2("ghi"和"abcde"之间的距离为2)。
综上所述,给定字符串数组strs、str1和str2,我们可以求出str1和str2在strs中的最小距离为2。
用java实现:最长公共子串的长度 描述:给定两个字符串str1和str2,输出两个字符串的最长公共子串的长度(假设str1和str2的最长公共子串存在且唯一)。
以下是用Java实现最长公共子串长度的示例代码:
```java
public class LongestCommonSubstring {
public static int longestCommonSubstring(String str1, String str2) {
int m = str1.length();
int n = str2.length();
int maxLength = 0;
int[][] dp = new int[m+1][n+1];
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (str1.charAt(i-1) == str2.charAt(j-1)) {
dp[i][j] = dp[i-1][j-1] + 1;
maxLength = Math.max(maxLength, dp[i][j]);
}
}
}
return maxLength;
}
public static void main(String[] args) {
String str1 = "abcdxyz";
String str2 = "xyzabcd";
int maxLength = longestCommonSubstring(str1, str2);
System.out.println("The length of longest common substring is " + maxLength);
}
}
```
以上代码使用动态规划算法来解决该问题。通过定义一个二维数组`dp`,其中`dp[i][j]`表示以`str1`的第`i`个字符和`str2`的第`j`个字符为结尾的最长公共子串的长度。当`str1.charAt(i-1) == str2.charAt(j-1)`时,表示`str1`和`str2`的第`i`和`j`个字符相同,因此可以通过`dp[i-1][j-1]`得到以`str1`的第`i-1`个字符和`str2`的第`j-1`个字符为结尾的最长公共子串长度,并加上当前相同的字符,即可得到以`str1`的第`i`个字符和`str2`的第`j`个字符为结尾的最长公共子串的长度。同时,需要记录每次更新的最大长度,并在遍历完成后返回该长度。