0

正如我刚才所说,这个程序不会编译。在我的 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];
    }
4

3 回答 3

7

您缺少}课程的附件,但我认为这是一个复制粘贴问题。

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

return new int[size];

代替

return int[size];

在你的createArray功能中。

于 2013-09-23T16:43:59.580 回答
1

我在这里看到一个额外的分号:

while(!validInput);
{
        return result;
 }

更新:我注意到这实际上是一个 do while 那么为什么 return 语句周围有额外的大括号?

于 2013-09-23T16:49:05.370 回答
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;
于 2013-09-23T16:55:46.303 回答