Java 将整数数组转换为字符串
我是一个初学者,试图为课堂上的凯撒密码作业编写一个程序。目前,我一直在尝试创建一个与第一个函数相反的函数,即接受一个整数数组并返回一个字符串。在这一点上,我完全不知道该怎么做,我真的需要一些帮助Java 将整数数组转换为字符串,java,arrays,string,Java,Arrays,String,我是一个初学者,试图为课堂上的凯撒密码作业编写一个程序。目前,我一直在尝试创建一个与第一个函数相反的函数,即接受一个整数数组并返回一个字符串。在这一点上,我完全不知道该怎么做,我真的需要一些帮助 public static int[] string(String str) { int [] arr = new int [str.length()]; for (int i = 0; i < str.length(); i++) { str.toUppe
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;
}
publicstaticint[]字符串(stringstr){
int[]arr=新int[str.length()];
对于(inti=0;i检查stringTo是否工作
}
返回arr;
}
公共静态字符串符号(int[]符号){
字符串消息=新字符串();
char[]字母=新字符[symbols.length];
对于(int i=0;i
如果我正确理解了第一个函数中的代码,那么您需要将[1,2,3,4,5]
转换为“12345”
的东西,对吗
然后,您的函数可以如下所示:
public static String arrayToString(int[] array) {
String result = "";
for(int i : array) {
result += i;
}
return result;
}
但是,对于长数组,这可能会有糟糕的性能,因为每个+=
都会创建一个新的字符串,所以实际上这会更好:
public static String arrayToString(int[] array) {
StringBuilder builder = new StringBuilder();
for(int i : array) {
builder.append(i);
}
return builder.toString();
}
javac或JVM实际上可能会自动将第一个代码段转换为第二个代码段。这里有一段代码可以帮助您
public String changeIntToString(int aNumber){
String theString = "";
theString += aNumber;
return theString;
}
任何添加到字符串的内容都将变成字符串。这是另一个例子
String lotOfInt = "" + 1 + 2 + 3;
这将变成一串“123”。我想你明白了。现在您只需要循环该数组并将其组合成字符串
奖金和正确的做法。。。使用StringBuilder类。搜索它是什么以及如何使用它。;)
编辑:啊。马丁斯赢了我。:) int[]a={1,2,3,4,5,6};
字符串str=“”;
对于使用Java 8流的(int i=0;i方法:
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类具有构造函数新字符串(char[]值)
。使用它就可以了。你会遇到什么错误?参考这个是的,编译器可能会。这是一个简单的附加,我认为是java 5或java 7。不记得哪一个可能会尝试将其转换为一个字符串,它会产生与使用StringBuilder相同的效果。快速跟进问题:如果我之前需要将int-arr更改为chars,该怎么办它变成了一个字符串。我想这是我遇到的最大问题。你不需要Integer.toString()
str=str+arr[I]
就可以了。
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"