为什么我不能将此字符串转换为整数?

时间:2015-11-12 03:21:49

标签: java compiler-errors syntax-error

无论如何我尝试这个我继续得到使用JOptionPane获取用户输入所需的相同错误,然后将其转换为整数。

这是我的代码

import javax.swing.JOptionPane; // Imports JOptionPane class.

public class MailOrderEMH {
    public static void main(String[] args) {
        // Declare string variables
        String title;
        String firstName;
        String lastName;
        String streetAddress;
        String city;
        String state;
        String zip;
        int numBoxes;
        int count = 1;
        String enterAnother = "Y"; //INITILIZE the loop control variable


        //Conver srring to integer
        numBoxes = Integer.parseInt(JOptionPane.showInputDialog("Enter Number of Boxes: "));

        //get input values from user
        title = JOptionPane.showInputDialog("What is your title ex. (Ms. Mr. Dr.) ");

        //get input values from user
        firstName = JOptionPane.showInputDialog("Enter First Name: ");

        //get input values from user
        lastName = JOptionPane.showInputDialog("Enter Last Name: ");

        //get input values from user
        streetAddress = JOptionPane.showInputDialog("Enter Street Address: ");

        //get input values from user
        city = JOptionPane.showInputDialog("Enter City: ");

        //get input values from user
        state = JOptionPane.showInputDialog("Enter State: ");

        //get input values from user
        zip = JOptionPane.showInputDialog("Enter Zip Code: ");


        while (count <= numBoxes) {
            System.out.println(title + firstName + lastName);
            System.out.println(streetAddress);
            System.out.println(city + state + zip);
            System.out.println("Box" + count + "of" + numBoxes);
            count = count + 1;
        }
        //get input values from user
        enterAnother = JOptionPane.showInputDialog(" Do you want to produce more labels? Y or N ");

        while (enterAnother.equal("Y" || "y")) {
            //get input values from user
            title = JOptionPane.showInputDialog("What is your title ex. (Ms. Mr. Dr.) ");

            //get input values from user
            firstName = JOptionPane.showInputDialog("Enter First Name: ");

            //get input values from user
            lastName = JOptionPane.showInputDialog("Enter Last Name: ");

            //get input values from user
            streetAddress = JOptionPane.showInputDialog("Enter Street Address: ");

            //get input values from user
            city = JOptionPane.showInputDialog("Enter City: ");

            //get input values from user
            state = JOptionPane.showInputDialog("Enter State: ");

            //get input values from user
            zip = JOptionPane.showInputDialog("Enter Zip Code: ");

            //get input values from user
            numBoxes = JOptionPane.showInputDialog("Enter Number of Boxes: ");
        }
        // End program.
        System.exit(0);
    }
}

这就是错误

error: incompatible types: String cannot be converted to int
            ( "Enter Number of Boxes: " );

1 个答案:

答案 0 :(得分:0)

while语句enterAnother.equal("Y" || "y")中的内容是什么? 一定是

while (enterAnother.equals("Y") || enterAnother.equals("y"))

在这一行

numBoxes = JOptionPane.showInputDialog
                    ( "Enter Number of Boxes: " );

您正在尝试将String转换为int。你需要以这种方式使用parseInt

numBoxes = Integer.parseInt(JOptionPane.showInputDialog
                ( "Enter Number of Boxes: " ));