2015-05-03 43 views
0

我在尝试将用户输入保存到变量中,然后再访问该变量的内容时遇到了一些麻烦。基本上,用户输入关于歌曲的详细信息,然后将其保存在下一个可用歌曲插槽中(总共4​​个插槽)。但是当我检查插槽是空的还是空的时候,由于最后的歌曲细节没有保存,它总是空的。变量内容不是持久的

代码:

SongDatabase类:

if (song1.getFileSize() == 0) {   
    System.out.println("Name of song:"); 
    song1.setName(console.next()); 

    System.out.println("Artist:"); 
    song1.setArtist(console.next()); 

    System.out.println("File size (MB):"); 
    song1.setFileSize(console.nextInt()); 

    System.out.println("Duration (seconds):"); 
    song1.setDuration(console.nextInt()); 
} 

else if (song2.getFileSize() == 0) {   
    System.out.println("Name of song:"); 
    song2.setName(console.next()); 

    System.out.println("Artist:"); 
    song2.setArtist(console.next()); 

    System.out.println("File size (MB):"); 
    song2.setFileSize(console.nextInt()); 

    System.out.println("Duration (seconds):"); 
    song2.setDuration(console.nextInt()); 
} 

else if (song3.getFileSize() == 0) {   
    System.out.println("Name of song:"); 
    song3.setName(console.next()); 

    System.out.println("Artist:"); 
    song3.setArtist(console.next()); 

    System.out.println("File size (MB):"); 
    song3.setFileSize(console.nextInt()); 

    System.out.println("Duration (seconds):"); 
    song3.setDuration(console.nextInt()); 
} 

else if (song4.getFileSize() == 0) {   
    System.out.println("Name of song:"); 
    song4.setName(console.next()); 

    System.out.println("Artist:"); 
    song4.setArtist(console.next()); 

    System.out.println("File size (MB):"); 
    song4.setFileSize(console.nextInt()); 

    System.out.println("Duration (seconds):"); 
    song4.setDuration(console.nextInt()); 
} 

else { 
    System.out.println("The database is currently full. Please delete a song before adding a new one."); 
} 

宋类:

public void setName(String inputName) { 
    name = inputName; 
} 

public String getName() { 
    return name; 
} 

public void setArtist(String inputArtist) { 
    artist = inputArtist; 
} 

public String getArtist() { 
    return artist; 
} 

public void setFileSize(int inputFileSize) { 
    fileSize = inputFileSize; 
} 

public int getFileSize() { 
    return fileSize; 
} 

public void setDuration(int inputDuration) { 
    duration = inputDuration; 
} 

public int getDuration() { 
    return duration; 
} 

我需要在get/set方法添加另一个参数或我在做一些完全错误的?任何帮助将不胜感激,谢谢!

+0

你已经离开了字段的声明等等,以及(据说)显示“插槽”是“完全空的”的代码。 –

回答

0

最好的办法是使用构造

song1 = new song("Name of song:","Artist:","File size (MB):","Duration (seconds):") 

同样的事情在其他对象

然后,你需要添加你的歌曲类中的方法

public boolean isEmpty() { 
     if (this.name == null && this.artist == null && this.fileSize == null && this.duration == null) return true; 
     else return false; 
    }