我正在执行一项任务,用户在其中创建专辑和这些专辑中的歌曲。我需要添加一个功能,该功能可以从文本文件(已经提供给我们)创建专辑中的歌曲。专辑和歌曲保存在数组中,并且为所有涉及的变量提供了设置/获取方法。我们获得的文本文件的格式如下,但包含多个相册:
女王专辑专辑
歌曲
波西米亚狂想曲名称 艺术家皇后 持续时间354 流派摇滚
承受压力的名字 艺术家皇后 持续时间248 流派摇滚
到目前为止,这是我所拥有的,它什么都不做。
void importAlbum() throws FileNotFoundException {
String path;
Scanner inputStream;
System.out.println("Please type the name of the file you want to import (from same folder): ");
path = console.nextLine();
try {
inputStream = new Scanner (new File(path));
} catch(FileNotFoundException e){
System.out.println("Error opening the file "+path);
}
while(inputStream.hasNextLine()){
// Where to go
}
}
我只是不确定如何读取每一行并将变量发送到正确的set方法。我必须要有if语句的束吗?但是,如何识别文本文件中有多个相册。PS。我们不能使用ArrayLists,只能使用Arrays(我在一些在线解决方案中看到了针对此问题的arraylists)PPS。让我知道是否需要上传代码的其他部分(对不起,我是溢出/编程的新手)
您的文档已经结构化,因此可以遵循该结构。
而不是使用复杂的if-else
构造,请考虑对象和方法!
Album
Track
TextReader
TextParser
执行TextParser.parse()
时,它会检查输入(来自TextReader
),是Album
信息还是Track
信息。
Album
然后创建新的Album
Track
,创建新的Track
,然后将Track
添加到Album
此处发布的解决方案基于观点,如果您找到更好的对象和方法,请应用这些!! >>
InformationBlocks
,新的InformationBlock
到达末尾InformationBlock
可以
Songs
)Songs
)InformationBlock
应该是Parser
的一部分