タイトルが紛らわしいのはわかっていますが、それはそれが理由です。少し長いので、私と一緒にいてください。
これは、コードを設計したレイアウトです
変数コンストラクター メソッド。
私も名前でいっぱいの Jlist を埋めようとしています。メソッドを使用してそれらの名前を取得したい。ここに行きます。
私の変数には、JListがあります。contactNames と呼ばれます。連絡先の名前である 5 つの文字列を格納する配列もあります。とにかくそのためのコードはこちら
String contact1;
String contact2;
String contact3;
String contact4;
String contact5;
String[] contactListNames;
JList contactList;
簡単です。次に、コンストラクターで、配列の内容で自分自身を埋めるように定義された Jlist を持っています
String[] contactListNames = new String[5];
JList contactList = new JList(contactListNames);
fillContactList();
そのメソッド fillContactList() はまもなく登場します。
今、ここで物事が盛り上がります。私は3つの異なる方法を作成しましたが、それらはすべて機能していません. 基本的に、それらすべてで配列を埋めようとしています。これは最も単純なものです。Jlist を設定せず、複雑なことは何もしません。一度に 1 ビットずつ配列を埋めようとするだけです。
public void fillContactList()
{
for(int i = 0;i<3;i++)
{
try
{
String contact;
System.out.println(" please fill the list at index "+ i);
Scanner in = new Scanner(System.in);
contact = in.next();
contactListNames[i] = contact;
in.nextLine();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
残念ながら、これは機能しません。インデックス 0 でそれを埋めるために印刷を取得します。何かを入力すると、
contactListNames[i] = contact;
つまり、私の質問は簡単に言えば
そのメソッドから配列を埋めることができないのはなぜですか。
************************************************888 ** ************************************************888
リクエストによるスタック トレース インデックス 0 のリストを埋めてください
overtone
please fill the list at index 1
java.lang.NullPointerException
at project.AdminMessages.fillContactList(AdminMessages.java:410)
at project.AdminMessages.<init>(AdminMessages.java:91)
at project.AdminUser.createAdminMessages(AdminUser.java:32)
at project.AdminUser.<init>(AdminUser.java:18)
at project.AdminUser.main(AdminUser.java:47)