将歌曲分配到数据库插槽,简单的音乐数据库

时间:2013-04-30 04:40:34

标签: java database if-statement

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

1 个答案:

答案 0 :(得分:0)

首先,摆脱循环。

其次,我认为您的问题是隐藏S变量。在setData中,您在S中设置了addSong属性(此处为全局字段),您声明并实例化了一个永远不会使用的新S变量。

您可以执行以下操作:

  1. 确保使用正确的变量。
  2. S传递给setData,以便设置参数的字段而不是全局字段。