我有一个字符数组,声明为char[ ] array = new char[20];
。关于这个问题,我有以下疑问:
每个位置的默认值是'\0000'吗?
如何将字符追加到该数组中?(例如,每次要求用户输入一个字母并按顺序将字母存储在数组中)
请谅解我的问题。我可以轻松地在C++中实现这些功能,但我对Java还不熟悉。提前感谢!
我有一个字符数组,声明为char[ ] array = new char[20];
。关于这个问题,我有以下疑问:
每个位置的默认值是'\0000'吗?
如何将字符追加到该数组中?(例如,每次要求用户输入一个字母并按顺序将字母存储在数组中)
请谅解我的问题。我可以轻松地在C++中实现这些功能,但我对Java还不熟悉。提前感谢!
public static void main(String[] args) throws IOException {
char arr[] = new char[5];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter input characters and press enter: ");
for(int i=0; i<arr.length; i++) {
arr[i] = (char) br.read();
}
br.close();
Arrays.sort(arr);
System.out.println("Sorted Array: "+String.valueOf(arr));
}
控制台 I/O:
输入字符并按回车:
zeros
排序后的数组:eorsz
此外,正如 Rohit 已经提到的,您应该查阅 String 类 及其广泛的实用函数。另外,由于您可能不知道数组中元素的数量,您可以将其视为一个 List
,在这种情况下,您应该使用 List<Character>
。
您可以按以下方式将数组中的所有字符附加在一起
char[ ] array = new char[20];
StringBuilder t=new StringBuilder();
for (char i:array){
t.append(i);
}
当你创建一个数组时,它的索引会被填充为你用于该数组的类型的默认值。
因此,对于一个 int[]
,值 0
将被填充,而对于 char[]
值 \u0000
- null 字符 将被填充。请参见 JLS - Initial Value of Variables,了解其他类型的默认值。
如何将字符附加到这个数组中?
为此,您需要维护当前索引,该索引从 0 开始为空,并且每次在该索引处插入元素时,将其增加一。
如果您有可变大小的数组,则通常无法使用此过程。您应该考虑使用 List<Character>
。
String.toCharArray()
,它可以将您的String对象转换为字符数组。i = 0
开始插入,然后在guessed[i]
处插入一个值,通过i++
来递增i,下一次插入时,你就知道要在guessed[1]
处进行插入,当你执行guessed[i]
操作时。你只需要检查范围。i
不应超过允许的最大索引。 - Rohit Jainlen
变量初始化为 0
。将它等于数组长度,并且在 while 循环中也检查 i < len
。 - Rohit Jain