【发布时间】:2016-05-28 13:44:17
【问题描述】:
我有一个存储了四个字符的 char 数组,我需要在 char 数组中添加一个整数,然后将 .txt 添加到 if 的末尾,然后将整个内容呈现为字符串,以便我可以使用它来创建一个文件对象。但是当我运行整个过程时它不起作用。使用 println 输出每一步发生的事情,它向我显示存储在 char 数组中的数字正在打印为字符串,如下所示:( 0001 ) 而不仅仅是这个 (1)。为什么会这样,我该如何解决?我在这里输入了一段简短的代码来演示这个问题。下面的 printline 语句的输出是这样的: temp 0001 .txt 而不是 temp1.txt 这是我想要得到的。感谢您提供的任何帮助。
public class Test {
public static void main(String[] args) {
int count = 4;
char[] temp = new char[count + 5];
char[] base = new char[] {'t', 'e', 'm', 'p'};
char[] extension = new char[] {'.', 't', 'x', 't'};
for (int i = 0; i < 4; i++)
temp[i] = base[i];
temp[count] = (char)1;
for (int k = 0; k < 4; k++)
temp[count + 1 + k] = extension[k];
String file = new String(temp);
System.out.println(file);
}
}
【问题讨论】:
-
有什么理由必须将其保留为数组吗?我的意思是你可以这样做
s = new String(base) + Integer.toString(theNumberToAdd) + new String(extension); -
@FabianN。对
Integer.toString()的显式调用在这里甚至是可选的。 -
@Code-Apprentice 我有点太小心了,因为我做了很多 Javascript atm 并且不想在 Java 中运行
number = '6' * 1 -
在我的回答中看看更简单的方法来解决您的问题。和我一起唱:当我们可以使用 String 时不要使用 char 数组 :)
-
我不喜欢 OP 不接受任何回答就走开。我们的努力是徒劳的吗? :(
标签: java arrays char render-to-string