我正在尝试编写一个方法,它将查看数据库(4个'插槽')找到下一个空的并存储一个歌曲对象(artis,名称,持续时间,文件大小)。每当我在程序中输入数据时,我当前的方法似乎将传入的歌曲对象分配给所有数据库'插槽',任何帮助都会非常好,谢谢
如果有人可以看看,所有4个java类都在这里-----> http://www.fast-files.com/getfile.aspx?file=62228
public void addSong()
{
Song S = new Song();
do{
if (a.fileSize==0) {
setData(a.artist, a.name, a.duration, a.fileSize);
break;
} else if (b.fileSize==0) {
setData(b.artist, b.name, b.duration, b.fileSize);
break;
} else if (c.fileSize==0) {
setData(c.artist, c.name, c.duration, c.fileSize);
break;
} else if (d.fileSize==0) {
setData(c.artist, c.name, c.duration, c.fileSize);
break;
}
}while(true);
}
public void setData( String artist, String name, double duration, int fileSize)
{
S.setArtist(artist);
S.setName(name);
S.setDuration(duration);
S.setFileSize(fileSize);
}
编辑 - 4个数据库java类的http://www.fast-files.com/getfile.aspx?file=62228
答案 0 :(得分:0)
首先,摆脱循环。
其次,我认为您的问题是隐藏S
变量。在setData
中,您在S
中设置了addSong
属性(此处为全局字段),您声明并实例化了一个永远不会使用的新S
变量。
您可以执行以下操作:
S
传递给setData
,以便设置参数的字段而不是全局字段。