我是Java的新手,我试图在循环内将字符串的值分配给另一个字符串,这是示例:
public static void main(String[] args) {
int j = 100;
int k = 20;
String n0 = "&";
String n1 = "|";
String n2 = "^";
String n3 = "~";
for(int n = 0; n < 4; n++)
{
if(n < 3){
String operator = "n"+n;
System.out.println(operator);
}
}
}
我已经预期这样的结果:
&| ^
但是我得到的是实际上结果:
n0 n1 n2
如何获得预期的结果?谁能解释为什么我得到了这个结果?
谢谢
答案 0 :(得分:0)
您不能使用其名称调用变量,例如,需要将其存储在数组中:
String[] operators = {n0, n1, n2, n3};
// or directly
//String[] operators = {"&", "|", "^", "~"};
for (int n = 0; n < 4; n++) {
if (n < 3) {
String operator = operators[n];
System.out.print(operator);
// or directly
//System.out.print(operators[n]);
}
}
答案 1 :(得分:0)
您尝试按名称访问变量,但这是不可能的,相反,您可以创建一个包含键div
以及期望值的映射,如下所示:
/** @type {HTMLElement} */
const kwadrat = document.querySelector('.square');
然后您可以获取值:
n1, n2, ..
完整的代码就像这样:
Map<String, String> map = Map.of("n0", "&", "n1", "|", "n2", "^", "n3", "~");
答案 2 :(得分:0)
您可能要使用数组,请参见:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
尝试使用“ ArrayDemo”示例,但更改该行
int[] anArray;
进入:
String[] anArray;
并修复可能产生的错误。
面条
答案 3 :(得分:0)
您正在做的是打印与当前循环索引串联的字符串“ n”。您针对索引0、1和2运行了3次循环。这就是为什么得到“ n0”,“ n1”和“ n2”的原因。如果您实际上想通过循环访问变量,则需要将它们放入适当的数据结构中,例如数组(如其他人所述)。如果要将字符串放入数组,可以使用以下示例:
String n0 = "&";
String n1 = "|";
String n2 = "^";
String n3 = "~";
String[] operators = {n0, n1, n2, n3};
for (int i = 0; i < operators.length; i++) {
String operator = operators[i];
System.out.println(operator);
}
此代码将您的变量添加到数组,然后遍历该数组并打印保存在数组中的值,即您的变量。