我的Java程序无法编译
正如我刚才所说,这个程序不会编译。在我的IDE TextPad中,createArray方法中有两个错误。它说当我的return语句中确实有右括号和分号时,它们都应该出现在return语句中。有人能帮我吗我的Java程序无法编译,java,arrays,compilation,Java,Arrays,Compilation,正如我刚才所说,这个程序不会编译。在我的IDE TextPad中,createArray方法中有两个错误。它说当我的return语句中确实有右括号和分号时,它们都应该出现在return语句中。有人能帮我吗 public class Driver { private static int size; private static String somePromptMessage; private static boolean validInput; private
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];
}
您缺少类的封闭},但我假设其中一个是复制粘贴问题 我看到的实际问题是你想要
return new int[size];
而不是
return int[size];
在createArray函数中。我在这里看到一个额外的半冒号:
while(!validInput);
{
return result;
}
更新:我注意到这实际上是一个dowhile,那么为什么在return语句周围加上大括号呢?在返回结果的while之后去掉大括号;正如它所做的那样:
你忘了类末尾的结束括号了吗?我确实在那里,它只是没有进入到这段代码中,因为我有另一个方法,我现在已经注释掉了。看起来分号是因为while是do-while的一部分,但这也引出了一个问题,为什么返回结果用大括号表示。这是正确的,丹尼斯。我知道while和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;