我尝试制作一个分隔字符的程序。 问题是:
“创建一个char数组并使用数组初始化程序用字符串'Hi there'中的字符初始化数组。使用for-statement显示数组的内容。用空格分隔数组中的每个字符”
我制作的节目:
String ini="Hi there";
char[] array=new char[ini.length()];
for(int count=0;count<array.length;count++){
System.out.print(" "+array[count]);
}
我该怎么做才能解决这个问题?
答案 0 :(得分:15)
以下是将String转换为char数组的方法:
String str = "someString";
char[] charArray = str.toCharArray();
我建议您在编程时使用IDE,以便轻松查看类包含哪些方法(在这种情况下,您可以找到toCharArray()
)并编译错误,就像您上面的错误一样。您还应该熟悉文档,在本例中为this String documentation。
此外,始终发布您正在获得的编译错误。在这种情况下,很容易发现,但如果不是,如果你没有在帖子中包含它,你将无法获得任何答案。
答案 1 :(得分:1)
你做错了,你首先使用空格作为分隔符使用String.split()拆分字符串,并用charcters填充char数组。
甚至更简单,只需在循环中使用String.charAt()
来填充数组,如下所示:
String ini="Hi there";
char[] array=new char[ini.length()];
for(int count=0;count<array.length;count++){
array[count] = ini.charAt(count);
System.out.print(" "+array[count]);
}
或一个班轮将是
String ini="Hi there";
char[] array=ini.toCharArray();
答案 2 :(得分:1)
char array[] = new String("Hi there").toCharArray();
for(char c : array)
System.out.print(c + " ");
答案 3 :(得分:0)
这是代码
String str = "Hi There";
char[] arr = str.toCharArray();
for(int i=0;i<arr.length;i++)
System.out.print(" "+arr[i]);
答案 4 :(得分:0)
除了以上方式,您只需通过以下方法即可实现解决方案。
public static void main(String args[]) {
String ini = "Hi there";
for (int i = 0; i < ini.length(); i++) {
System.out.print(" " + ini.charAt(i));
}
}
答案 5 :(得分:0)
您初始化了String并将其声明为“ Hi there”,并使用正确的大小初始化了char []数组,然后在该数组的长度上开始了循环,该循环打印出一个空字符串并与正在查看的给定元素组合在数组中。在什么时候考虑了将字符串中的字符放入数组的功能?
当您尝试打印数组中的每个元素时,您将打印一个空字符串,因为您要在空字符串中添加“ nothing”,并且由于没有功能可以将输入字符串中的字符添加到字符串中数组。但是,您已正确实施了所有解决方案。这是在初始化数组之后但在遍历数组以打印出元素的for循环之前应该使用的代码。
for (int count = 0; count < ini.length(); count++) {
array[count] = ini.charAt(count);
}
仅将for循环组合以在将每个字符放入数组后立即将其打印出来会更有效。
for (int count = 0; count < ini.length(); count++) {
array[count] = ini.charAt(count);
System.out.println(array[count]);
}
在这一点上,您可能想知道为什么当我可以仅使用对String对象ini
本身的引用来打印它们时,为什么甚至将其放在char []中。
String ini = "Hi there";
for (int count = 0; count < ini.length(); count++) {
System.out.println(ini.charAt(count));
}
绝对了解Java字符串。在我看来,它们令人着迷并且运作良好。这是一个不错的链接:https://www.javatpoint.com/java-string
String ini = "Hi there"; // stored in String constant pool
在内存中的存储方式不同于
String ini = new String("Hi there"); // stored in heap memory and String constant pool
,其存储方式不同于
char[] inichar = new char[]{"H", "i", " ", "t", "h", "e", "r", "e"};
String ini = new String(inichar); // converts from char array to string
。