好的,我已经制作了一个电话簿,其中包含以下内容,
我已经完成了它并且它正常工作,除了一件事。如果名称存储为例如“John”并且用户搜索“john”,则会打印“not found”,因为j没有大写,我怎么能解决这个问题而不会搞错我的代码。
以下是案例2的代码。
case 2: {
System.out.println("Enter the contact name you want to edit");
temp=s.next();
int z=name.indexOf(temp);
if(z!=-1)
{
System.out.println("Edit to?");
temp=s.next();
name.set(z, temp);
System.out.println("Name edited to "+temp);
}
else
System.out.println("Name not found");
break;
}
答案 0 :(得分:0)
如果您希望所有名称都以大写字母开头,则只能以这种方式存储它们,然后以这种方式打印。以下代码将有所帮助:
capitalize(name);
使用此方法将任何内容存储到数组中,然后要求首先出现case 2: {
System.out.println("Enter the contact name you want to edit");
temp=s.next();
int z=name.indexOf(capitalize(temp));
if(z!=-1)
{
System.out.println("Edit to?");
temp=s.next();
name.set(z, capitalize(temp));
System.out.println("Name edited to "+capitalize(temp));
}
else
System.out.println("Name not found");
break;
}
在你的情况下:
map {
case ((id, name), list) => (id, name, list.flatten)
}
这种方法可以让你将所有名字保存在同一个约定中 - 名字以大写字母开头。
答案 1 :(得分:0)
You can do like this. convert it into lowercase
case 2: {
System.out.println("Enter the contact name you want to edit");
temp=s.next();
int z=name.indexOf(temp.toLowerCase());
if(z!=-1)
{
System.out.println("Edit to?");
temp=s.next();
name.set(z, temp);
System.out.println("Name edited to "+temp);
}
else
System.out.println("Name not found");
break;
}