-1

我正在尝试编写一种方法来查看数据库(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

4

1 回答 1

0

首先,摆脱循环。

其次,我认为您的问题在于隐藏S变量。在您声明和实例化一个您从不使用的新变量时setData设置S属性(这里它是一个全局字段) 。addSongS

您可以执行以下操作:

  1. 确保使用正确的变量。
  2. 传递SsetData因此它将设置参数的字段而不是全局字段。
于 2013-04-30T05:53:35.163 回答