如何在 Java 代码中添加字符串?

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

我正在做一些作业,我想到了一个很酷的方法来让它更容易标记。 我们得到一张包含 10 个问题的工作表,我们必须编写一些代码来打印它要求的任何内容。

例如,可以打印出数字 1-100,我们将使用 for 循环 为了保持代码的可读性,我一直在使用函数,例如:

public static void main(String[] args) {
  question1();
}
private static void question1() {
  for(int i=1; i<=100; i++) {
    System.out.println(i);
  }
}

我的问题是,是否可以在代码中插入用户输入的变量?

有点像这样

Scanner input = new Scanner(System.in);
int question = input.nextInt();
question[question]();

然后如果用户输入“2”,它将运行“question2();”

我知道可能有更简单的方法可以做到这一点,但我隐约记得不久前学习过这样的东西,但我在网上找不到任何东西,可能是因为这样做被称为我不知道的东西,所以我只是有点感兴趣.

提前致谢!

我没有尝试太多,因为我真的不知道,我尝试过将变量放在引号或括号中以及很多东西,但我真的不知道。我希望它会使用正确的函数,但它只是给了我一个错误,显然因为它不是 java 的工作方式

java
1个回答
0
投票

您的问题归结为如何将字符串映射到要调用的方法。 有多种方法,按复杂程度排列:

  1. 是一系列

    if
    语句。

    if (name.equals("question1")) {
       question1();
    } else (name.equals("question2")) {
       question2();
    } ...
    
  2. 使用

    switch
    声明

    switch (name) {
       case "question1": question1(); break;
       case "question2": question2(); break;
       ...
    }
    
  3. 上述内容的其他变体,使用显式

    HashMap
    将名称映射到(例如)方法引用,然后调用方法引用。

  4. Reflection ...您在类的

    Class
    对象中查找方法名称以给出
    Method
    对象,然后通过该对象调用方法。

对于初学者来说,1)或2)就可以了。 您很可能还没有学到足够的知识来理解 3) 和 4)。

© www.soinside.com 2019 - 2024. All rights reserved.