有人可以帮我解决问题吗
问题描述
使用以下成员变量创建一个Asset类。
def name
def assetNumber
def model
def lastAssignedDate
def price
输入格式:
第一个输入对应于字符串资产名称。
第二个输入对应一个整数资产编号。
第三个输入对应于字符串资产模型。
第四个输入对应于最后分配日期的日期。
第五输入对应于双倍资产价格。
下一个输入是一个字符串,表示何时还有一个或多个资产明细。 (是/否)
输出格式:
如果找到assetNumber
,则打印Asset with _assetNumber_ found.
或Asset with _assetNumber_ not found.
参考样本输入和输出。 [所有粗体均对应于输入,其余均为输出。]
资产name:name1
资产number:1
资产model:mod1
已分配date:01/01/2015
价格:100.24
你想继续吗? (是/否):是
资产name:name2
资产number:2
资产model:mod2
已分配date:01/01/2016
价格:200.24
你想继续吗? (是/否):否
1个
2
输入要搜索的号码:
找到2个资产。
我的代码
def class Asset
{
def name;
def assetNumber
def model
def lastAssignedDate
def price
def constructAsset(Map classMap)
{
this.name=classMap['name'];
this.assetNumber=classMap['assetNumber'];
this.model=classMap['model'];
this.lastAssignedDate=classMap['lastAssignedDate'];
this.price=classMap['price']
return classMap;
}
def findNumber(Map classMap,int num)
{
//println classMap
for ( e in classMap )
{
if ("${e.key}" == "assetNumber")
{
println ("${e.value}")
}
}
def myKey = classMap.find{ it.value == num }?.key;
if(myKey)
{println("Asset with " + num + " found.")}
else
{println("Asset with " + num + " not found.")}
}
}
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
def name;
def assetNumber;
def model
def lastAssignedDate
def price
def cont="Yes"
Asset a=new Asset();
def list=[:]
while(cont=="Yes")
{
println("Asset name:");
name=br.readLine();
println("Asset number:");
assetNumber=br.readLine().toInteger();
println("Asset model:")
model=br.readLine()
println("Assigned date:")
lastAssignedDate=br.readLine();
lastAssignedDate=Date.parse("dd/mm/yyyy", lastAssignedDate).format("dd-mm-yyyy")
println("Price:")
price=br.readLine().toDouble()
list << a.constructAsset(name:"$name",assetNumber:"$assetNumber",model:"$model",lastAssignedDate:"$lastAssignedDate",price:"$price");
println("Do you want to continue?(Yes/No)");
cont=br.readLine();
}
println("Enter the number to search:")
def num=br.readLine().toInteger();
a.findNumber(list,num)
预期产量 资产名称:name1 资产编号:1 资产模型:mod1 指定日期:01/01/2015 价钱:100.24 你想继续吗? (是/否):是 资产名称:name2 资产编号:2 资产模型:mod2 指定日期:01/01/2016 价钱:200.24 你想继续吗? (是/否):否 1个 2 输入要搜索的号码: 找到2个资产。
实际输出 资产名称:name1 资产编号:1 资产模型:mod1 指定日期:01/01/2015 价钱:100.24 你想继续吗? (是/否):是 资产名称:name2 资产编号:2 资产模型:mod2 指定日期:01/01/2016 价钱:200.24 你想继续吗? (是/否):否 1个 2 输入要搜索的号码: 找到2个资产。
问题 添加键值时,地图始终保留最近输入的值。 因此,当我打印资产编号值时,它就是在打印最近的值。但是不打印输入的第一个值。在此示例中,预期资产编号为1和2。但是仅打印2。(要继续吗?(是/否)旁边)