将一个整数数组转换为一个字符串
我是一个初学者,正在为类编写一个凯撒密码分配的程序。目前,我试图创建一个函数,它将完成与第一个函数相反的功能,接受一个整型数组并返回一个String。我完全失去了在这一点上如何这样做,真的可以真的使用一些帮助。将一个整数数组转换为一个字符串
public static int[] string(String str) {
int [] arr = new int [str.length()];
for (int i = 0; i < str.length(); i++) {
str.toUpperCase();
arr[i] = str.charAt(i)-65;
// System.out.println(arr[i]);--> check to see if stringTo was working
}
return arr;
}
public static String symbol(int[] symbols) {
String message = new String();
char[] letters = new char[symbols.length];
for (int i = 0; i < symbols.length; i++) {
symbols[i] = letters[i];
message.toUpperCase();
message = message.toString();
System.out.print(message);
}
return message;
}
int[] a = {1,2,3,4,5,6};
String str = "";
for(int i=0;i<a.length;i++)
{
str = str + Integer.toString(a[i]);
}
System.out.println(str);
快速跟进问题:如果在成为字符串之前需要将int arr更改为字符,该怎么办?我认为那是我遇到的最大麻烦。 – Yaz
你不需要'Integer.toString()'。 'str = str + arr [i]'会做。 – 2016-03-25 16:29:28
如果我正确理解你的第一个功能的代码,那么你想要的东西,转换成[1,2,3,4,5]
权"12345"
?
然后你的函数看起来是这样的:
public static String arrayToString(int[] array) {
String result = "";
for(int i : array) {
result += i;
}
return result;
}
但这可以有很长的阵列可怕的性能,因为每个+=
创建一个新的String
所以实际上这会更好:
public static String arrayToString(int[] array) {
StringBuilder builder = new StringBuilder();
for(int i : array) {
builder.append(i);
}
return builder.toString();
}
javac或JVM实际上可能会将第一个代码片段自动转换为第二个代码片段。
是的,编译器可能。这是一个简单的附加,我认为java 5或7 ..不记得哪个可能会尝试将其转换为一个字符串,它将具有与使用StringBuilder相同的影响。 – pompanoSlayer
这里有一段代码可以帮助你。
public String changeIntToString(int aNumber){
String theString = "";
theString += aNumber;
return theString;
}
添加到字符串的任何东西都会变成字符串。这是另一个例子。
String lotOfInt = "" + 1 + 2 + 3;
这将变成一串“123”。我想你会得到这张照片。现在只需要遍历该数组并将其合并为一个字符串即可。
奖金和正确的方式来做到这一点......使用StringBuilder类。搜索它是什么以及如何使用它。 ;)
编辑:啊。马丁斯打败了我。 :)使用Java 8流
方法:
int[] intArray = new int[] {1, 2, 3, 4};
String result = IntStream.of(intArray)
.mapToObj(String::valueOf)
.collect(Collectors.joining(","));
System.out.println(result); // "1,2,3,4"
String类有构造'新的字符串(字符[]值)'。只要使用它。 –
你得到的错误是什么? –
参考这个http://stackoverflow.com/questions/10904911/how-to-convert-an-int-array-to-string-with-tostring-method-in-java –