gpt4 book ai didi

java - 如何快速编写下面的changeValue函数?

转载 作者:行者123 更新时间:2023-12-01 22:25:33 26 4
gpt4 key购买 nike

下面的代码是用java编写的。我需要通过函数动态更改变量值。我们如何快速编写下面的changeValue函数?有什么方法可以将变量引用传递给函数吗?

public class Project{
private int value1;
private int value2;
private int value3;
private int value4;

public static void main(String[] args) {
this.changeValue("value1",10)
this.changeValue("value2",25)
this.changeValue("value3",30)
this.changeValue("value4",40)
}

public String changeValue(String varName,String value){
if(varName=="value1"){
this.value1=value
}else if(varName=="value2"){
this.value2=value
}else if(varName=="value3"){
this.value3=value
}else if(varName=="value3"){
this.value4=value
}
}

}

最佳答案

您发布的代码包含许多错误;例如,您不能将 String 存储在 int 中 - String value 应该是 int value。您无法在 main 等中使用 thisstatic 上下文调用实例方法。但是,对于您的问题, 您可以缩短 changeValue 的长度,将您的值存储在数组中。此外,changeValue 不会返回 String - 但如果您让它返回 Project,您可以将调用链接到 changeValue( )。就像,

private int[] values = new int[4];

public static void main(String[] args) {
Project p = new Project();
p.changeValue("value1", 10).changeValue("value2", 25)
.changeValue("value3", 30).changeValue("value4", 40);
System.out.println(p);
}

public Project changeValue(String varName, int value) {
int i = Character.digit(varName.charAt(varName.length() - 1), 10) - 1;
values[i] = value;
return this;
}

@Override
public String toString() {
return Arrays.toString(values);
}

另请参阅Builder pattern .

关于java - 如何快速编写下面的changeValue函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58568053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com