定义一个方法,给定一个数组,转换成一个字符串, 如:数组为int [] arr = {97, 98, 99},字符串为[99, 98, 97]
时间: 2024-02-19 08:03:54 浏览: 18
好的,我来给你写一个 Java 的方法来实现这个功能:
```java
public static String arrayToString(int[] arr) {
StringBuilder sb = new StringBuilder("[");
for (int i = arr.length - 1; i >= 0; i--) {
sb.append(arr[i]);
if (i != 0) {
sb.append(", ");
}
}
sb.append("]");
return sb.toString();
}
```
这个方法接受一个 `int` 类型的数组作为参数,然后使用 `StringBuilder` 向其中添加数组元素,最后返回转换后的字符串。
你可以这样调用这个方法:
```java
int[] arr = {97, 98, 99};
String str = arrayToString(arr);
System.out.println(str); // 输出:[99, 98, 97]
```
希望这个方法能够满足你的需求。
相关问题
java给定一个数组{16,34,17,13,74,57,86},将其转成字符串
可以使用Java中的StringBuilder类来实现将数组转换成字符串的操作。具体代码如下:
```
int[] arr = {16, 34, 17, 13, 74, 57, 86};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]);
}
String str = sb.toString();
```
以上代码将数组中的每个元素依次追加到StringBuilder对象中,最后将StringBuilder对象转换成字符串并赋值给变量str。
用java实现给定一个字符串和一个字符串数组,要求寻找出第一个字符串中不包括第二个字符数组元素的最长子字符串长度
您好!对于您的问题,我可以给出以下 Java 代码实现:
```java
public class Main {
public static void main(String[] args) {
String str = "abcdefg";
String[] arr = {"a", "b", "d"};
int maxLength = findLongestSubstring(str, arr);
System.out.println("最长子字符串长度:" + maxLength);
}
public static int findLongestSubstring(String str, String[] arr) {
int maxLength = 0;
int left = 0;
for (int right = 0; right < str.length(); right++) {
String currentChar = String.valueOf(str.charAt(right));
if (!contains(arr, currentChar)) {
maxLength = Math.max(maxLength, right - left + 1);
} else {
left = right + 1;
}
}
return maxLength;
}
public static boolean contains(String[] arr, String target) {
for (String s : arr) {
if (s.equals(target)) {
return true;
}
}
return false;
}
}
```
在这个例子中,我们使用了两个指针 `left` 和 `right` 来遍历字符串 `str`。`left` 指针标记当前不包含数组元素的子字符串的起始位置,而 `right` 指针则用于遍历整个字符串。
我们通过 `contains` 方法来判断数组 `arr` 中是否包含当前字符。如果不包含,则更新最长子字符串的长度,并将 `left` 指针右移一位。如果包含,则将 `left` 指针设为 `right + 1`,继续向后遍历。
最终,返回最长子字符串的长度即可。
注意:这个实现假设数组元素是单个字符,如果数组元素是多个字符的话,需要做相应的修改。