写一段java代码,接收给定的两个字符串str1,str2。用空格分开接收
时间: 2024-02-11 08:09:29 浏览: 83
好的,以下是实现此功能的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);
}
}
```
运行此代码后,程序会提示您输入两个字符串,您只需要在控制台输入即可。程序会将您输入的两个字符串以空格分开,并输出给您。
相关问题
Java给定2个短字符串str1,str2,在一个长字符串中找出以str1开头并且以str2结尾的最长字符串。
在Java中,你可以使用双指针法来解决这个问题。首先,你需要遍历长字符串,用两个指针分别指向开始和结束位置。然后检查从当前开始到结束的子串是否以`str1`开头并以`str2`结尾。如果满足条件,更新最长字符串;如果不满足,移动起始指针向前一位继续查找。这个过程会持续到起始指针超过或等于结束指针为止。
以下是一个简单的示例代码:
```java
public class Main {
public static String findLongest(String longStr, String str1, String str2) {
int n = longStr.length();
int m = str1.length();
int k = str2.length();
if (m + k > n || !longStr.startsWith(str1) || !longStr.endsWith(str2)) {
return "";
}
int maxLen = m;
int start = 0;
for (int end = m; end < n - k + 1; end++) {
if (longStr.substring(start, start + m).equals(str1) &&
longStr.substring(end, end + k).equals(str2)) {
if (end - start + k > maxLen) {
maxLen = end - start + k;
}
} else {
start = end + 1;
}
}
return longStr.substring(start, start + maxLen);
}
public static void main(String[] args) {
String longStr = "HelloWorldStr1Str2HelloStr1AgainStr2";
String str1 = "Str1";
String str2 = "Str2";
System.out.println(findLongest(longStr, str1, str2));
}
}
```
运行这段代码,你会得到以`str1`开头和`str2`结尾的最长字符串。
计算数组中元素的距离 * 给定一个字符串数组strs,在给定2个字符串str1和str2,返回在strs中str1与str2的最小距离,如果str1或str2为null,或不在strs中,返回-1 * 例如: * 【数组】{"abc","cde","bcd","ac","bcd","ac"} * 【两个字符串】“abc","ac" * 【输出】最小距离为:3
你可以使用以下的Java程序来计算字符串数组中两个字符串的最小距离:
```java
import java.util.Arrays;
import java.util.List;
public class StringDistanceCalculator {
public static void main(String[] args) {
String[] strs = {"abc", "cde", "bcd", "ac", "bcd", "ac"};
String str1 = "abc";
String str2 = "ac";
int minDistance = calculateMinDistance(strs, str1, str2);
System.out.println("最小距离为:" + minDistance);
}
private static int calculateMinDistance(String[] strs, String str1, String str2) {
if (strs == null || strs.length == 0 || str1 == null || str2 == null) {
return -1;
}
int minDistance = Integer.MAX_VALUE;
int str1Index = -1;
int str2Index = -1;
for (int i = 0; i < strs.length; i++) {
if (strs[i].equals(str1)) {
str1Index = i;
} else if (strs[i].equals(str2)) {
str2Index = i;
}
if (str1Index != -1 && str2Index != -1) {
minDistance = Math.min(minDistance, Math.abs(str1Index - str2Index));
}
}
return minDistance == Integer.MAX_VALUE ? -1 : minDistance;
}
}
```
这个程序会遍历字符串数组,找到给定的两个字符串的索引,并计算它们之间的最小距离。如果数组或字符串为null,或者给定的字符串不在数组中,将返回-1。通过循环遍历数组,记录两个字符串的索引,并在每次找到两个字符串的索引时更新最小距离。最后,返回计算得到的最小距离。
希望这个程序能满足你的需求!如果你还有其他问题,请随时提问。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)