我之前发布了这个问题,这几乎是一个懒惰的帖子,因为我没有提供我的代码,因此得到了非常严重的否定。以为我会创建一个新的......
我有一个数组dogArray,它采用(name,secondname,dogname)
我希望能够更改dogname:
这是我的尝试:
public void changeName(Entry [] dogArray) {
Scanner rp = new Scanner(System.in);
String namgeChange = rp.next(); {
for (int i = 0; i < dogArray.length; i++){
for (int j = 0; j < dogArray[i].length; j++){
if (dogArray[i][j] == name){
dogArray[i][j] = nameChange;
}
}
}
}
首先,它不喜欢我使用'name'的事实,尽管它是在dogArray中定义的。我希望这会读取输入,以便用户能够将“名称”更改为他们输入的内容。这将更改数组中name的值。
你们觉得我用我的方法得到了什么,或者这是一种非常愚蠢的做法吗?
答案 0 :(得分:2)
只需要一个循环,也可以将您的呼叫转移到下一个循环。
public void changeName(Entry [] dogArray) {
Scanner rp = new Scanner(System.in);
for (int i = 0; i < dogArray.length; i++){
String nameChange = rp.next(); {
if(!dogArray[i].name.equals(nameChange)){
dogArray[i].name = nameChange;
}
}
}
您可能也希望使用此函数static
并使用访问器和更改器来更改并获取名称。可能想告诉用户你想要他们输入什么。此外,没有必要测试名称是否更改,如果更改然后设置它,如果它没有改变然后设置它(它没有伤害)。只需摆脱if
并保留代码。