编写Java程序时,Java无法在数组中找到我的符号?需要帮忙

时间:2011-02-11 04:16:36

标签: java arrays compiler-construction methods

  

可能重复:
  Java can't find symbol, Java can't find my symbol in an array?.

我收到此错误 我正在制作一个GUI程序,我遇到的问题是创建一个代码,当用户选择某个动作发生时。

例如,选择一顿饭,总费用变为2500.

Main.java:155: cannot find symbol
symbol  : variable isSeletecd
location: class java.lang.String
if (dorm[0].isSeletecd && meal[0].isSeletecd())
           ^.

import java.awt.BorderLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JComboBox; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

/** 

The Main class creates the GUI for the Dorm and 
Meal charges. 
*/ 

public class Main extends JFrame 
{ 
private JPanel dormPanel; 
private JComboBox dormBox; 
private JPanel mealPanel; 
private JComboBox mealBox; 
private JPanel totalChargesPanel; 
private JPanel selectedMealPanel; 
private JPanel buttonPanel; 
private JButton calcButton; 
private JLabel label1; 
private JTextField totalCharges; 



private String[] dorm = { "Allen Hall: $1,500 per semester", 
"Pike Hall: $1,600 per semester", 
"Farthing Hall: $1,200 per semester", 
"University Suites: $1,800 pe r semester"}; 





private String[] meal = { "7 meals per week: $650 per semester", 
"14 meals per week: $1,095 per semester", 
"Unlimited meals: $1,500 per semester"}; 

/** 
Constructor 
*/ 
public Main() 
{ 
super("Dormitory and Meal Plan"); 

// Specify an action for the close button. 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

// Create a BorderLayout manager. 
setLayout(new BorderLayout()); 

// Create the dorm and meal panel. 
buildDormPanel(); 
buildMealPanel(); 
buildSelectedTotalChargesPanel(); 
buildButtonPanel(); 

// Add the components to the content pane. 
add(dormPanel, BorderLayout.WEST); 
add(mealPanel, BorderLayout.EAST); 
add(totalChargesPanel, BorderLayout.SOUTH); 
add(buttonPanel, BorderLayout.NORTH); 

// Pack the contents of the window and display it. 
pack(); 
setVisible(true); 
} 

// The buildDormPanel method builds the dorm panel. 
private void buildDormPanel() 
{ 
// Create the dorm panel. 
dormPanel = new JPanel(); 
dormBox = new JComboBox(dorm); 

// Register the action listener. 
dormBox.addActionListener(new ComboBoxListener()); 

// Add the dorm panel to the panel. 
dormPanel.add(dormBox); 
} 

// The buildMealPanel method builds the meal panel. 
private void buildMealPanel() 
{ 
// Create the meal panel. 
mealPanel = new JPanel(); 
mealBox = new JComboBox(meal); 

// Register the action listener. 
mealBox.addActionListener(new ComboBoxListener()); 

// Add the meal panel to the panel. 
mealPanel.add(mealBox); 
} 

// The buttonPanel method builds the bottun panel. 
private void buildButtonPanel() 
{ 
// Create a panel. 
buttonPanel = new JPanel(); 

// Create a button. 
calcButton = new JButton("Calculate"); 

// Register an action listener with the button. 
calcButton.addActionListener(new ButtonListener()); 

// Add the button to the panel. 
buttonPanel.add(calcButton); 
} 

// The buildSelectedDormPanel builds the selected totalCharges panel. 
private void buildSelectedTotalChargesPanel() 
{ 
// Create the totalChargesPanel for the label. 
totalChargesPanel = new JPanel(); 
label1 = new JLabel("Total charges per semester: "); 

// Create the totalCharges textfield. 
totalCharges = new JTextField (25); 
totalCharges.setEditable(false); 

// Add the totalChargesPanel to the panel. 
totalChargesPanel.add(label1); 
totalChargesPanel.add(totalCharges); 
} 

/** Private inner class that handles the event when the user 
selects the dorm and meal boxes. 
*/ 
private class ComboBoxListener implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
// Variables to hold the dorm, meal, and total charges. 
String dorm = (String) dormBox.getSelectedItem(); 
String meal = (String) mealBox.getSelectedItem(); 

// Calculates the total. 
totalCharges.setText(meal + dorm); 
} 
} 

private class ButtonListener implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
if (dorm[0].isSeletecd && meal[0].isSeletecd())
totalCharges.setText("2150.00");

if (dorm[0].isSeletecd && meal[1].isSeletecd())
totalCharges.setText("2595.00");

if (dorm[0].isSeletecd && meal[2].isSeletecd())
totalCharges.setText("3000.00");

if (dorm[1].isSeletecd && meal[0].isSeletecd())
totalCharges.setText("2250.00");

if (dorm[1].isSeletecd && meal[1].isSeletecd())
totalCharges.setText("2695.00");

if (dorm[1].isSeletecd && meal[2].isSeletecd())
totalCharges.setText("3100.00");

if (dorm[2].isSeletecd && meal[0].isSeletecd())
totalCharges.setText("1850.00");

if (dorm[2].isSeletecd && meal[1].isSeletecd())
totalCharges.setText("2295.00");

if (dorm[2].isSeletecd && meal[2].isSeletecd())
totalCharges.setText("2700.00");

if (dorm[3].isSeletecd && meal[0].isSeletecd())
totalCharges.setText("2450.00");

if (dorm[3].isSeletecd && meal[1].isSeletecd())
totalCharges.setText("2895.00");

if (dorm[3].isSeletecd && meal[2].isSeletecd())
totalCharges.setText("3300.00");
} 
} 

public static void main(String[] args) 
{ 
new Main(); 
} 
}

1 个答案:

答案 0 :(得分:1)

宿舍是一个String数组,方法isSelected和setSelected(无论你拼写它们)对于Strings来说都没有意义。阅读有关如何使用JComboBox学习如何正确使用它们的教程。您可以在此处找到它:How To Use ComboBoxes