请帮我纠正错误。请帮助理解错误并指导我解决。
资产名称: 笔记本电脑 资产编号: 1 资产模型: Pavilion笔记本 指定日期: 28/08/2017 价钱: 62000 你想继续吗?(是/否) 是
资产名称: 音箱 资产编号: 2 资产模型: 5.1 指定日期: 2017年12月7日 价钱: 12000 你想继续吗?(是/否) 否
Asset.No:1 |名称:笔记本电脑|型号:Pavilion Notebook |最后指定日期:28-08-2017 |价格:62000.0
Asset.No:2 |名称:扬声器|型号:5.1 |最后指定日期:12-07-2017 |价格:12000.0
class Main
{
static void main(String[] args)
{
Asset asset = new Asset()
List list = new ArrayList()
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
String userInput = "Yes"
while(userInput.equalsIgnoreCase("Yes"))
{
println "Asset name:"
asset.name = br.readLine()
println "Asset number:"
asset.assetNumber = Integer.parseInt(br.readLine())
println "Asset model:"
asset.model = br.readLine()
println "Assigned date:"
asset.lastAssignedDate = Date.parse("dd/MM/yyyy", br.readLine())
println "Price:"
asset.price = Double.parseDouble(br.readLine())
list.add(asset)
println "Do you want to continue?(Yes/No)"
userInput = br.readLine()
}
list.each
{
println it
}
}
}
class Asset
{
def name
def assetNumber
def model
def lastAssignedDate
def price
String toString()
{
sprintf "Asset.No : "+assetNumber+" | Name : "+name+"| Model : "+model+" | Last Assigned Date : "+lastAssignedDate.format("dd-MM-yyyy")+" | Price : "+price.round(2)
}
}
答案 0 :(得分:1)
您的错误说明具有误导性。您将值存储在同一asset
中,并在列表中反复添加。因此,您的列表包含最后一项资产的“输入时间”。将def asset = new Asset()
移动到循环中以解决此问题。