1

だから私は char 配列にユーザー入力を入力しようとしています。ただし、配列の長さを自分で指定したくないため、ユーザーが入力できる量に制限されています。たとえば、以下のコードでは、ユーザーは 5 文字しか入力できず、終了します。どの言語のコードでも問題ありません。(以下はC#です)。

Console.Write("Enter a number of characters of your choice...click 1 to exit: ");
bool exitCondition;
int counter = 0;
char[] character = new char[5]; 
do
{
    exitCondition = false; 
    try
    {
        character[counter] = char.Parse(Console.ReadLine());
        if (character[counter] == '1')
            exitCondition = true; 
    }
    catch (Exception ex)
    {
        Console.WriteLine("Error: {0}", ex.Message); 
    }
    counter++;
}
while (exitCondition == false && counter < 5); 
4

4 に答える 4

3

配列のサイズは静的です。java.util.ArrayListサイズ変更可能な配列である(コレクションフレームワークから)を使用します。

List<Character> chars = new ArrayList<Character>();
chars.add('a');
chars.add('c');
chars.add('d');

List インターフェイスのサイズ変更可能な配列の実装。オプションのリスト操作をすべて実装し、null を含むすべての要素を許可します。List インターフェイスの実装に加えて、このクラスは、リストを格納するために内部で使用される配列のサイズを操作するメソッドを提供します。

参照

于 2012-12-16T15:45:56.440 に答える
3

要素のコレクションを拡大または縮小できるコレクションを使用する必要があります。Java では、ArrayListシナリオに適しています。C# では、おそらくList.

C#

List<char> list = new List<char>();
list.Add('a');
list.Add('b');

ジャワ

List<Character> list = new ArrayList<Character>();
list.add('a');
于 2012-12-16T15:46:28.260 に答える
1

StringBuilder だけで十分です

StringBuidler sb = new StringBuilder();
sb.append(c);
...

本当に必要な場合は、そこからchar配列を取得できます

char[] a = sb.toString().toCharArray();

ただし、通常は文字列に変換されるだけです

 String s = sb.toString()

StringBuilder の内部 char[] を直接操作する方法もあります

 char c = sb.charAt(i)
于 2012-12-16T16:29:04.413 に答える
0

あるいは、何らかの隠された理由で本当に配列のみを使用したい場合は:)、ユーザーに入力項目の数を尋ね、それに応じて配列を初期化することができます。

ありがとう、海軍

于 2012-12-16T18:22:02.217 に答える