更改阵列尝试

时间:2014-04-16 19:49:53

标签: java

我之前发布了这个问题,这几乎是一个懒惰的帖子,因为我没有提供我的代码,因此得到了非常严重的否定。以为我会创建一个新的......

我有一个数组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的值。

你们觉得我用我的方法得到了什么,或者这是一种非常愚蠢的做法吗?

1 个答案:

答案 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并保留代码。