如何用另一个变量替换变量的一部分

时间:2018-04-12 17:34:53

标签: java variables

我试图在这里不使用大量的IF语句。 我有26个不同的盒子,名为txtA,txtB,txtC等。

我尝试创建的是一种方法,其中变量" box"可以用来给出

String result = txt(box).getText(); 

如果任何一个字母代替方框。

谢谢,这是我的代码

public static String getTextBoxInput(char box) {        
    String result = txtA.getText();
    return result;
}

2 个答案:

答案 0 :(得分:0)

构建一个包含文本框的Map<String, TextBox>(),将您的字母作为密钥并以这种方式使用:

public static String getTextBoxInput(char box) {
    TextBox textBox = textBoxMap.get(box);

    if (textBox != null)    {
        return textBoxMap.get(box).getText();
    }

    return null;
}

你的地图是:

"A", txtA
"B", txtB

等等。这是您最简单的选择,可以添加另一个框或快速找到它们。

答案 1 :(得分:0)

这里可以使用数组。我希望这会有所帮助。

import java.util.*;

public class Task {
    static BOX Box[] = new BOX[26];
    static Scanner in = new Scanner(System.in);


    /*assuming that the variable box can only get input as an English uppercase
      alphabet and characters stored in box can range from A to Z.
    */
    public static String getTextBoxInput(char box) {
        String result = Box[box - 65].getText(); //ASCII value of 'A' is 65
        return result;
    }


    public static void main(String[] args) {
        //initializing the elements of BOX with their respective Strings
        for(int i = 0; i < 26 ; i++)
            Box[i] = new BOX( "Sample_String "+(i+1) );

        char box = in.next().charAt(0);
        String result = getTextBoxInput(box);

        System.out.print("RESULT : "+result);
    }
}

class BOX {
    String text;
    public BOX(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }
}