有 Java 编程相关的问题?

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

java jComboBox getSelected项错误

嘿,伙计们,在文本框的jcombobox中显示所选项目时,我遇到了一些问题这是我的代码:

double Cubao = 0;
double Zambales = 0;
final int Tickets = 50;
jLabel1.setText(String.valueOf(Tickets));
final double discount = .8;
String selecteditem = jComboBox2.getSelectedItem().toString();
String selectitem = jComboBox1.getSelectedItem().toString();
int Passengers = Integer.parseInt(jTextField2.getText());
if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))    
   Cubao = 780; 
}
if (jComboBox2.getSelectedItem().equals("Ordinary")) {
if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity"))    
   Cubao = 500; }
jTextField4.setText(String.valueOf(Cubao * Passengers));

if (jComboBox2.getSelectedItem().equals("Deluxe AC")) 
if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
   Zambales = 530; 
if (jComboBox2.getSelectedItem().equals("Ordinary"))
if (jComboBox2.getSelectedItem().equals("Iba_Zambales"))
   Zambales = 300;
 {   

jTextField4.setText(String.valueOf(Zambales * Passengers));   
}
{


jTextField4.setEditable(false);
jTextField1.setEditable(false);

现在,当我将总线类型设置为豪华AC时,它将显示: http://tinypic.com/r/2s9zwcj/8 但当我将总线类型设置为“普通无”时,它将显示: http://tinypic.com/r/29mu0so/8

我的代码似乎有什么问题


共 (1) 个答案

  1. # 1 楼答案

    您多次检查相同的字段,这意味着您有很多netsted if块,使代码难以读取。我建议这样做:

    if (jComboBox1.getSelectedItem().equals("Cubao_QuezonCity")) {
        if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
            Cubao = 780;
        } else {
            Cubao = 500;
        }
        jTextField4.setText(String.valueOf(Cubao * Passengers));
        jTextField4.setEditable(false);
        jTextField1.setEditable(false);
    }
    if (jComboBox1.getSelectedItem().equals("Iba_Zambales")) {
        if (jComboBox2.getSelectedItem().equals("Deluxe AC")) {
            Zambales = 530;
        } else {
            Zambales = 300;
        }
        jTextField4.setText(String.valueOf(Zambales * Passengers));
        jTextField4.setEditable(false);
        jTextField1.setEditable(false);
    }