これを行うにはおそらくもっと良い方法がありますが、基本的には、毎回新しい変数に無期限に設定できるユーザー入力が必要です。名前に変数を含む変数を設定する方法を見つけようとしていました。
DOSバッチから来て、私は次のようなことをします:
set /A num=0
set /A coins%num%=%num% & set /A num=(%num%+1)
これにより、「num」の値に応じて、変数「coins1、coins2、coins3」の下に毎回新しい変数が設定されます。
これを行うにはおそらくもっと良い方法がありますが、基本的には、毎回新しい変数に無期限に設定できるユーザー入力が必要です。名前に変数を含む変数を設定する方法を見つけようとしていました。
DOSバッチから来て、私は次のようなことをします:
set /A num=0
set /A coins%num%=%num% & set /A num=(%num%+1)
これにより、「num」の値に応じて、変数「coins1、coins2、coins3」の下に毎回新しい変数が設定されます。
あなたが望むことをする基本的な構造がいくつかありますが、最も一般的なのはリストと配列です...
Arrays
まず、紹介を見てみましょう。
それが理にかなっているとき、私は見てみますCollections
(このコンテキストでの)主な違いは、配列は固定長である傾向があるのに対し、リストは可変長である可能性があることです。
やりたいことを直接することはできません。
最も近い方法は、コレクションを使用して変数名 (キー) と値 (値) を格納することです。
Map<String, Object>
この目的のためにa を使用します。
したがって、ユーザーが変数名「var1」(variableName
)と値「何らかの値」を(value
)として指定すると、次のことができます
// do this once
Map<String, Object> vars = new HashMap<String, Object>();
// every time you get a new "variable" and value do
vars.put(variableName, value);
入力されたすべての「変数」を取得する必要がある場合は、keySet
メソッドを使用してキーのコレクションを取得できます。 ドキュメントはこちら。