如何很快在changeValue函数下面编写?

问题描述 投票:0回答:1

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

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 } } }
java function logic
1个回答
0
投票
您发布的代码中包含许多错误;例如,您不能将String存储在int中-String value应该为int value。您无法使用static等中的thismain上下文调用实例方法。但是,对于您的问题,

是您可以使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); }
© www.soinside.com 2019 - 2024. All rights reserved.