Java JComboBox。我做错了什么?

Java JComboBox。我做错了什么?,java,methods,jcombobox,Java,Methods,Jcombobox,我的代码将c的值返回为空!怎么了 我希望将索引的值添加到字符串c,但它没有发生,甚至是System.out.println的第一个代码(“c:+c+”A:+A+”B:+B”)将所有变量返回为0 public String getData(){ String c ; c = null; int a = cb1.getSelectedIndex(); int b = cb2.getSelectedIndex(); System.out.println("C: "+c+" A: "+a+"

我的代码将
c
的值返回为空!怎么了

我希望将索引的值添加到字符串
c
,但它没有发生,甚至是
System.out.println的第一个代码(“c:+c+”A:+A+”B:+B”)将所有变量返回为0

public String getData(){
String c ;
    c = null;
int a = cb1.getSelectedIndex();
int b = cb2.getSelectedIndex();
 System.out.println("C: "+c+" A: "+a+" B: "+b);
    if (a == 1 && b == 1) {
        c=""+a;
    } else if (a == 1 && b == 2) {
        c=""+a;
    } else if (a == 2 && b == 1) {
        c=""+a;
    } else if (a == 2 && b == 2) {
        c=""+a;
    } else if (a == 3 && b == 1) {
        c=""+a;
    } else if (a == 4 && b == 1) {
        c=""+a;
    } else if (a == 4 && b == 2) {
        c="";
    } else if (a == 5 && b == 1) {
        c=""+a+""+b; 
    } else if (a == 5 && b == 2) {
        c=""+a+""+b;
    } else if (a == 6 && b == 1) {
        c=""+a+""+b;
    } else if (a == 7 && b == 1) {
        c=""+a+""+b;
    } else if (a == 8 && b == 1) {
        c=""+a+""+b;
    } else if (a == 8 && b == 2) {
        c=""+a+""+b;
    } else if (a == 8 && b == 3) {
        c=""+a+""+b;
    }


System.out.println("C: "+c+" A: "+a+" B: "+b);

 return c;           
}

我已将
if{}else{if{}
更改为
if{}else if{}

public String getData(){
        String c ;
        c = null;
        int a = cb1.getSelectedIndex();
        int b = cb2.getSelectedIndex();
        System.out.println("C: "+c+" A: "+a+" B: "+b);
        if (a == 1 && b == 1) {
            c=""+a;
        } else if (a == 1 && b == 2) {
            c=""+a;
        } else if (a == 2 && b == 1) {
            c=""+a;
        } else if (a == 2 && b == 2) {
            c=""+a;
        } else if (a == 3 && b == 1) {
            c=""+a;
        } else if (a == 4 && b == 1) {
            c=""+a;
        } else if (a == 4 && b == 2) {
            c="";
        } else if (a == 5 && b == 1) {
            c=""+a+""+b; 
        } else if (a == 5 && b == 2) {
            c=""+a+""+b;
        } else if (a == 6 && b == 1) {
            c=""+a+""+b;
        } else if (a == 7 && b == 1) {
            c=""+a+""+b;
        } else if (a == 8 && b == 1) {
            c=""+a+""+b;
        } else if (a == 8 && b == 2) {
            c=""+a+""+b;
        } else if (a == 8 && b == 3) {
            c=""+a+""+b;
        }

    }
请尝试此代码


你错过了一些其他条件

您的第一个systemoutprintln c必须为null…如果未选择任何内容,则c也为null。。。 每次选择更改时,您也必须调用此方法

尽量不要写

else{
   if{
   } else{
        if{...
试着写一篇好文章

else if{...}
else if{...}

我不明白你的“如果/否则”。这不也是一回事吗? 我认为,你应该关注场景的预期结果,然后再构建你的决策点,而不是所有可能的输入组合

    public String getData(){
        String c ;
        c = null;
        int a = cb1.getSelectedIndex();
        int b = cb2.getSelectedIndex();
        System.out.println("C: "+c+" A: "+a+" B: "+b);
        if (a <= 4 && b != 2)
        {
           c=""+a; 
        }
        else if (a >= 5)
        {
           c=""+a+""+b; 
        }
        else
        {
           c="";
        }
    }
公共字符串getData(){
字符串c;
c=零;
int a=cb1.getSelectedIndex();
int b=cb2.getSelectedIndex();
系统输出打印项次(“C:+C+”A:+A+”B:+B);
如果(a=5)
{
c=“”+a+”+b;
}
其他的
{
c=“”;
}
}

当只有3种不同的结果时,代码中通常只能有2个决策点。当您觉得需要创建那么多嵌套的if语句时,通常情况下,这表明您需要重新构造代码

在连接整数变量之前,必须将其转换为字符串。例如:

c=""+a.tostring();

你的结构真的很糟糕,请重构并再次发布,好吗?比发现你的问题更容易你为什么不试着把这个循环一下@Nabeel你知道关于if的
else,对吗?与其使用连续的if-else,不如使用switch@Nabeel您还使用变量c执行SysOut,该变量为null!不,这不是必需的,如果a是int,c是字符串,则c=”“+a工作。而且“int”没有toString()方法,只有Integer有。