我试图写一个方法,将查看数据库(4 '插槽')找到下一个空的,并存储一个歌曲对象(艺术家,名称,持续时间,文件大小)。每当我在程序中输入数据时,我当前的方法似乎将传入的歌曲对象分配给所有数据库"槽",任何帮助都会非常感谢
所有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
首先,去掉循环。
第二,我认为你的问题是隐藏S
变量。在setData
中,您设置S
属性(这里是一个全局字段),而在addSong
中,您声明并实例化一个新的S
变量,您从未使用过。
你可以这样做:
- 请确保使用正确的变量。
- 将
S
传递给setData
,这样它将设置参数的字段而不是全局字段。