ユーザー入力とパスワードを取り込んで配列に追加するプログラムを作成しようとしています。私は、ユーザーとパスワードの定義された数を持っていないので、しかし、私はそれが自動このような何かやって成長したい:Java自動拡張アレイ
static String[] passes = new String[i];
をして、どこかに私++;そのような
何か:私はそれを試してみましたが、それは、私は多分、うまくいきませんでした
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
:
private static void Update() {
i++;
user[i] = inputUser;
}
結果(inputUserは、スキャナによって値が与えられた文字列です)何か間違っている?
コードが要求されました:
package users.main;
import java.util.List;
import java.util.Scanner;
public class Main {
static int i = 0;
static List<String> users = new ArrayList<String>; // << Also highlighted red. Do i need()?
// ^^^ Error
static String[] passes = new String[i];
static String inputUser = null;
static String inputPass = null;
public static void main (String[] args) {
@SuppressWarnings("resource") // <--- Eclipse wanted me to add this?....
Scanner sc = new Scanner(System.in);
String userInput = sc.nextLine();
switch (userInput) {
case "adduser":
AddUser();
break;
default:
System.out.println("Unknown command");
main(args);
}
}
UPDATE: I have changed the array to a list, but am still getting some errors.
ArrayListまたはLinkedListを調べます。それら(およびその他のデータ構造)は、より多くの要素が追加されるにつれて大きくなります。 –
配列のサイズは固定ですが、配列サイズは変更できません。これを行うには、新しいサイズの新しい配列を作成し、以前の配列要素を新しい配列にコピーする必要があります。または、javaで提供されているコレクションクラス(ArrayListやLinkedListなど)を使用することもできます。 – kamal
あなたは誤ったリストを使用しています。 java.util.Listを使うべきです – kamal