我的Java程序不会编译

时间:2013-09-23 16:41:06

标签: java arrays compilation

正如我刚才所说,这个程序不会编译。在我的IDE,TextPad中,它在createArray方法中给出了2个错误。它说在我的回复声明中,当我确实将它们放在那里时,可以预期右括号和分号。有人可以帮助我吗?

public class Driver
{
    private static int size;
    private static String somePromptMessage;
    private static boolean validInput;
    private static String userData;
    public static void main(String[] args) throws IOException
    {
        validInput = false;
        BufferedReader keyboard;
        keyboard = new BufferedReader(new InputStreamReader(System.in));
        int result;
        do
        {
            somePromptMessage = "Enter an integer";
            System.out.println(somePromptMessage);
            String userData;
            userData = keyboard.readLine();
            System.out.println(createArray(10));
            try
            {
                result = Integer.parseInt(userData);
            }
            catch(NumberFormatException nfe)
            {
            System.out.println("Value entered is invalid, try again");
            }
        }
        while(!validInput);
        {
            return result;
        }

    }

    public static void print(int[]x)
    {
        System.out.println("The array contains" + size + "elements");
        for(int i = 0; i<x.length; i++)
        {
            System.out.println(x[i]);
        }
    }

    private static int[] createArray(int size)
    {
        return int[size];
    }

3 个答案:

答案 0 :(得分:7)

您错过了该类的封闭},但我认为其中一个是复制粘贴问题。

我看到的实际问题是你想要

return new int[size];

而不是

return int[size];

createArray函数中。

答案 1 :(得分:1)

我在这里看到一个额外的小肠:

while(!validInput);
{
        return result;
 }

更新:我注意到这实际上是一段时间,为什么围绕返回声明的额外括号呢?

答案 2 :(得分:0)

return result;之后移除大括号,因为它是do-while

do
{
    somePromptMessage = "Enter an integer";
    System.out.println(somePromptMessage);
    String userData;
    userData = keyboard.readLine();
    System.out.println(createArray(10));
    try
    {
        result = Integer.parseInt(userData);
    }
    catch(NumberFormatException nfe)
    {
        System.out.println("Value entered is invalid, try again");
    }
}
while(!validInput);
return result;