//不知道为什么查找一直出错
//请问各位大佬有知道原因的吗?
package Kid;
import java.util.Scanner;
public class AC {
public static void main(String[] args) {
Scanner sd = new Scanner(System.in);
System.out.println("请输入小朋友人数:");
Kid k = new Kid();
Kid[] m = new Kid[sd.nextInt()];
for(int i=0;i<m.length;i++){
m[i]=new Kid();
System.out.println("请输入第" + (i + 1) + "个小朋友");
String name = sd.next();
int age = sd.nextInt();
m[i].name=name;
m[i].age=age;
}
System.out.println("输入完成-请输入需要查找的小朋友:");
String na=sd.next();
k.setName(na);
int temp= k.isExist(m);
if(temp==-1) {
System.out.println("有误");
}
else {
System.out.println("小朋友是第" + (temp + 1) + "个小朋友");
System.out.println(m[temp].name + "今年" + m[temp].age + "岁啦");
}
}
}
class Kid {
int age;
String name;
void setName(String n){
this.name=n;
}
void setKid(String name,int age){
this.name=name;
this.age=age;
}
int isExist(Kid[] a) {
for (int i=0;i<a.length-1;i++){
if(a[i].name==this.name)
return i;
}
return -1;
}
}
自定义数组String 类型查找出错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-sinJack 2021-10-06 01:27关注
字符串比较需要用equals()
if(a[i].name==this.name)
改为
if(a[i].name.equals(this.name))代码修改如下:
package Kid; import java.util.Scanner; public class AC { public static void main(String[] args) { Scanner sd = new Scanner(System.in); System.out.println("请输入小朋友人数:"); Kid k = new Kid(); Kid[] m = new Kid[sd.nextInt()]; for(int i=0;i<m.length;i++){ m[i]=new Kid(); System.out.println("请输入第" + (i + 1) + "个小朋友"); String name = sd.next(); int age = sd.nextInt(); m[i].name=name; m[i].age=age; } System.out.println("输入完成-请输入需要查找的小朋友:"); String na=sd.next(); k.setName(na); int temp= k.isExist(m); if(temp==-1) { System.out.println("有误"); } else { System.out.println("小朋友是第" + (temp + 1) + "个小朋友"); System.out.println(m[temp].name + "今年" + m[temp].age + "岁啦"); } } } class Kid { int age; String name; void setName(String n){ this.name=n; } void setKid(String name,int age){ this.name=name; this.age=age; } int isExist(Kid[] a) { for (int i=0;i<a.length-1;i++){ if(a[i].name.equals(this.name)) return i; } return -1; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。