前提・実現したいこと
独学でjavaを初めてまだ数か月です。ArrayListの使い方を自習しようと、ArrayでかかれたプログラムをArrayListで書き直していますが、独学のためどこがおかしいのか分かりません。正しいコードを示していただけると非常に助かります。
発生している問題・エラーメッセージ
一通りArrayListを使ったソースに書き直しましたがコンソールには表示が何も出ません。(エラーも出ません)
独学者のためどこが間違っているのかわかりません。
該当のソースコード
package Ü2_2_1;
import java.util.ArrayList;
public class Album {
public String albumTitle; public ArrayList<Song> songs; public Album(String albumTitle) { this.albumTitle = albumTitle; songs = new ArrayList<Song>(); } public void addSong(Song song) { for(Song s : songs) { if(s == null) { songs.add(song); return; } } } public int getSongCount() { for(int i=0; i < songs.size(); i++) { if(songs == null ) { return i; } } return songs.size(); } public int getAlbumDuration() { int sum = 0; for(Song s : songs) { if(s != null) { sum += s.getDuration(); } } return sum; } public void printSong() { for(Song s : songs) { if(s != null) { System.out.println(s.toString()); } } }
}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
・コードは```で囲んでください。
・そもそもこのクラスはどこから使っていますか?このクラスだけコンパイルしても何も起きないと思いますが。使用箇所も含め全文載せてください。
・最低限何をするクラスなのか説明してください。
コードはマークダウンのcode機能を利用してご提示ください。
「正しいコード」はあくまで要件を満たすものである必要があります。
要件やゴール、仕様をきちんと具体的に記載してもらう必要があります。
つまり、現時点の内容では「正しいコード」を他者が提供するのは無理ということです。きちんと説明追記してください。
(それにおおっぴらに「コードくれ」って作業依頼のように受け取れますが・・・?)
それに単にmainメソッドがないから実行できないだけでは・・・?
エラー、出るのでは。
どういう手順でコードを作成し、実行しているのでしょうか?
あと「Arrayでかかれたプログラム」をご提示ください。要は動いてたものですね。
単にArrayListで書き換えただけなら動かないはずです。
>yukke様, m.ts10806様
申し訳ありません。はじめて、こういった質問をさせてもらったので、ルールがいまいち分かっていませんでした。
ちなみにメインメソッドはあります。クラス毎でタブを分けているため別タブに分けています。(Eclipseを使用しています)。
はい、Arrayで書かれたプログラムでは正常に動いていました。ある課題でArrayListを学んだのでArrayで書かれたコードをArrayListで組み替えれば良い練習になると思い取り組んだ次第です。
このご質問自体を修正出来ます.