有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java多变量If语句

我一直在研究,但我找不到解决问题的方法。以下是部分代码:

    String p1 = PHORA1.getText();
    String p2 = PHORA2.getText();
    String p3 = PHORA3.getText();
    String p4 = PHORA4.getText();
    String p5 = PHORA5.getText();
    char i1 = p1.charAt(0);
    char i2 = p2.charAt(0);
    char i3 = p3.charAt(0);
    char i4 = p4.charAt(0);
    char i5 = p5.charAt(0); 

if (i1 == '<') {
        ImageIcon img3 = new ImageIcon("src\\img\\yellow.png");
        ok.setIcon(img3);
        ok.setVisible(true);
        ok.setText("");
        ok.setToolTipText("MISTAKE");
    } else {
        ImageIcon img3 = new ImageIcon("src\\img\\ok.png");
        ok.setIcon(img3);
        ok.setVisible(true);
        ok.setText("");
        ok.setToolTipText("RIGHT.");
    }

我需要这样做19次(虽然在代码中,我只显示了每种类型的5个变量,以便在这里缩短它,但实际上它们是19)。条件中有完全相同的语句,唯一改变的是变量

其余变量的名称是p6、p7。。。。p19和i6、i7。。。。。i19。 有没有比把代码复制19次更快的方法


共 (2) 个答案

  1. # 1 楼答案

    为什么不使用字符串数组呢

    String[] PHORA
    

    然后可以循环遍历数组,然后将字符串传递给一个方法,该方法接受第一个字符并进行测试

    for (int x = 0; x < 19; x++) {
        testThis (PHORA[x].getText().charAt(0));
    }
    
  2. # 2 楼答案

    String[] p = new String[19];
    char[] i = new char[19];
    for (int j = 0; j < 19; j++) {
        p[j] = PHORA[j].getText();
        i[j] = p[j].charAt(0);
        if (i[j] == '<') {
            // etc...
        }
    }
    

    这假设你有能力编辑。。。PHORA19也可以是一个数组。如果不是,你可能会有一些问题