首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编程变量问题(Java)

编程变量问题(Java)
EN

Stack Overflow用户
提问于 2011-08-10 10:02:17
回答 5查看 133关注 0票数 0

可能重复:

Use a variable within a variable? Java

嗨,这是一个与编程有关的一般问题,而不是一个java问题。如果我有这样的程序:

代码语言:javascript
运行
复制
public class tester {

    public static void main(String[] args) {
        int i = 2;
        String text = "Hello";
        String text2  = "world";

        System.out.println(text);
        System.out.println(text + i);
    }    
}

我想打印“你好”,然后是“世界”,而不是打印“你好”和"hello2“。无论如何,我是否可以通过将计数器I附加到变量测试来访问变量text2?我需要一个更复杂的程序来解决这个问题。

谢谢,马特

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-10 10:04:55

您可以使用一个数组来完成这个任务:

代码语言:javascript
运行
复制
String[] text = new String[2];
text[0] = "Hello";
text[1] = "world";

System.out.println(text[0]);
System.out.println(text[1]);

还可以使用变量对数组进行索引:

代码语言:javascript
运行
复制
int i = 1;
System.out.println(text[i]);

Java通常不支持在运行时构造(本地)变量名。大多数(但不是所有)编程语言都是如此。

票数 2
EN

Stack Overflow用户

发布于 2011-08-10 10:04:07

您通常不能在Java中这样做--当然,对于局部变量也不能这样做。通常,如果要将字符串或整数映射到值,则应使用Map<String, ...>Map<Integer, ...>或数组,而不是单独的变量。

例如,可以使用反射或静态变量来实现这一点,但我强烈建议您不要这样做。基本上,您应该将变量视为单独的存储位置,这些存储位置在编译时碰巧有名称,而不是从名称到值的映射。如果需要后者,请显式创建映射。

票数 2
EN

Stack Overflow用户

发布于 2011-08-10 10:04:53

也许您想看看数组:

代码语言:javascript
运行
复制
String[] texts = { "Hello", "world"};

for (int i=0; i<2; i++)
    System.out.println(texts[i]);

for (String text : texts)
   System.out.println(text);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7008985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档