Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

あけみ

最近javaの勉強をしておりわからないところがるので質問させていただきます。

A21_StrArray.java
protected String[] items; // 文字列を保持する 
  public void add(String data){}// 最下行に要素を追加
  public void set(int index, String data){} // 指定インデックスの要素を上書き(指定インデックスが無い場合エラー)
 public String get(int index){}// 指定インデックスの要素を取得(指定インデックスが無い場合エラー)

上記で処理内容を作り、A21_exec.javaで実行クラスを作成しました。

"aaa" を追加
"bbb" を追加
"ccc" を追加
"dd" を追加
4個の要素を取得して表示
すべてクリア
"ee001"~"ee100" の100個追加

この処理を順番にしてくのですが、for文で4つの要素を表示させようとしているのですがうまくいきません。
基本的な部分ですがご指導いたただけるとありがたです。
コードとエラーは以下の通りです。


エラー ---------------------------------------------------------------------
studya\a21\A21_exec.java:53: エラー: 配列が要求されましたが、A21_StrArrayが見つかりました
                        System.out.println(items[i]);
----------------------------------------------------------------------------------

コード

package studya.a21;

class A21_StrArray {
    // 文字列を保持する
    public String[] items = new String[100];
    public int addNumber = 0;


    // 最下行に要素を追加
    public void add(String data){
        items[addNumber] = data;
        System.out.println(addNumber + items[addNumber]);
        addNumber++;
    }

    // 指定インデックスの要素を上書き(指定インデックスが無い場合エラー)
    public void set(int index, String data){
    
        try {
        
            addNumber = index;
            items[addNumber] = data;
            System.out.println(addNumber + items[addNumber]);
        }
        catch(java.lang.NullPointerException e) {
            System.out.println("指定のインデックスがありません");
        }
    
    }

// 指定インデックスの要素を取得(指定インデックスが無い場合エラー);
    public String get(int index){
        System.out.println(addNumber + items[addNumber]);
        return items[addNumber];
    }


// 全ての要素をクリア
    public void clear(){}
    }

    class A21_exec {
        
        public static void main(String[] args) {
            
            A21_StrArray items = new A21_StrArray();
            
            items.add("aaa");
            items.add("bbb");
            items.add("ccc");
            items.add("dd");
            for(int i = 0; i < 4 ; i++){
            System.out.println(items[i]);
            
            }
            
        }
    }






1

回答

7231

閲覧

1件の回答

評価

0

itemsが何の変数を表すものなのかを、考えてみよう。

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名