【发布时间】:2013-11-09 03:45:45
【问题描述】:
如果这个问题被重复,我很抱歉,但我找不到答案。 我的问题是如何为“如果这些变量中的任何一个等于这个”进行编码并将其更改为与该变量对应的新值。例如,我正在尝试进行 HTML 转换:
int hex1 = (int)(Math.floor((work[j][k]) / 1048576)) % 16;
int hex2 = (int)(Math.floor((work[j][k]) / 65536)) % 16;
int hex3 = (int)(Math.floor((work[j][k]) / 4096)) % 16;
int hex4 = (int)(Math.floor((work[j][k]) / 256)) % 16;
int hex5 = (int)(Math.floor((work[j][k]) / 16)) % 16;
int hex6 = (int)(work[j][k]) % 16;
以上是我的多个变量列表。所以伪代码将是“如果上述任何变量等于这个”。因此,如果 hex1、hex2、hex3、hex4、hex5、hex6 中的任何一个等于,比如 10。那么相应的变量就会做一些事情。例如:
String html = "";
if (hex1==10){
html += "A";
}
else if (hex1==11){
html += "B";
}
else if (hex1 >= 0 && hex1 <=9){
html += hex1;
}
html = "#" + html;
有没有办法在上面的代码中执行此操作,而不必每次使用不同的变量复制/粘贴代码 6 次不同的时间(即 hex1 将是 hex2、hex3、...)?
【问题讨论】:
-
看起来您知道数组是什么,因为您在代码中使用了数组。那么也许您可以利用这些知识来回答您的最后一个问题?
-
当然是,看看here
-
这里的代码和伪代码不匹配...
-
假设您有一个通用的问题解决者,然后您将每个问题与原因映射到某个位置。然后你使用原因和位置来交替行为,比如多态开关。
-
那么,像
var = applyMath(var, <math>)一样,applyMath 只是一个返回修改后的 var 的 switch 语句? (字符串是不可变的,所以你必须在函数返回时更新变量)
标签: java variables loops optimization