循环字符串数组:找不到符号错误

时间:2014-10-23 19:42:01

标签: java arrays

我是java的新手,而且我正在用一个任务撞墙。我需要让它工作。谁能告诉我哪里出错了?我需要为Carl's Carpentry编写一个应用程序,向用户显示可用项目列表:桌子,桌子,梳妆台或娱乐中心。允许用户输入与其中一个选项对应的字符串,并相应地将价格显示为$ 250,$ 325,$ 420或$ 600。如果用户输入无效项目,则显示错误消息。该程序必须包含并行数组。

import javax.swing.*;
public class CarpentryChoice
{
    public static void main(String[] args)
    {
        String entry;
        String [] item = {"table","desk","dresser","entertainment center"};
        int [] price = {250, 325, 420, 600};
        String strPiece;
        int x, fi = 99;
        String prompt = "Please select an item\n" +
        "Our furniture is:\n" + "Table\n" +
        "Desk\n" +
        "Dresser\n" +
        "Entertainment center\n" +
        "Enter an item letter";
        entry = JOptionPane.showInputDialog(null, prompt);
        entry = strPiece.ToString();
            for(x = 0; x < item.length; ++x)
            if(strPiece == item[x])
                fi = x;
                if(fi == 99)
                    JOptionPane.showMessageDialog(null,
                    "Invalid item code entered");
                else
                {
                    if (fi > 2)
                        fi = fi - 3;
                        JOptionPane.showMessageDialog(null, "Furniture item " +
                        strPiece + " is priced at $" +
                        price[fi]);
                }
                System.exit(0);
    } 
}

任何帮助都非常感谢!!

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. toString代替ToString

  2. 为什么要分配entry两次?第二个赋值将覆盖用户通过提示对话框输入的内容。在这种情况下,您不需要变量strPiece。您可以使用entry

    entry = JOptionPane.showInputDialog(null, prompt);            
        for(x = 0; x < item.length; ++x)
    
  3. 要比较String,请使用equals instead of the == operator

    if(entry.equals(item[x]))

  4. 在显示结果对话框的部分中,再次使用entry而不是strPiece(只需从整个代码中移除strPiece):

    JOptionPane.showMessageDialog(null, "Furniture item " +
                        entry + " is priced at $" +
                        price[fi]);