为什么我会收到错误“解析时达到文件结尾”?

时间:2011-07-07 08:53:45

标签: java

import javax.swing.JOptionPane;
class Overload
{
    void average(int a, int b, int c)
    {
        average= (a+b+c)/3;
    }
    void average(int d, int e, double a, double b)
    {
        average= (d+e+a+b)/4;
    }
    void average(double c,double d,double e,double f,double g)
    {
        average= (c+d+e+f+g)/5;
}

class mainOverload
{
    public static void main(String args[])
    {
        Overload object=new Overload();
        object.average(7, 5, 1);
        object.average(15, 12, 15.12, 12.15);
        object.average(7.7, 8.4, 30.2, 1.4, 6.4);
    }
}

6 个答案:

答案 0 :(得分:4)

您忘记关闭第3个average方法:

void average(double c,double d,double e,double f,double g)
    {
        average= (c+d+e+f+g)/5;
    } // << here

关于您的评论 - 您尚未声明名为average的变量,但您尝试在每种平均方法中使用它。将此变量声明为类字段或方法字段以解决此问题。

答案 1 :(得分:2)

您缺少方法average的右括号,其中包含5个double个参数。

这样编译器将类右括号解释为关闭大括号的方法,mainOverload作为嵌套类,并且缺少Overload类的最终右大括号。

答案 2 :(得分:1)

因为您忘记了课程}

的结束括号Overload

答案 3 :(得分:0)

您缺少

的右括号
average(double c,double d,double e,double f,double g)

方法。 这应该是

void average(double c,double d,double e,double f,double g)
    {
        average= (c+d+e+f+g)/5;
    }//Missing!

答案 4 :(得分:0)

支架留在这里

     {
            average= (c+d+e+f+g)/5;
     } // !!!
}

答案 5 :(得分:0)

  

有这个新的错误。 “找不到符号变量平均值”......

问题是您要分配一个尚未声明的变量。

void average(double c,double d,double e,double f,double g)
{
    average= (c+d+e+f+g)/5;  // <<<=== you haven't declared the 'average' variable.
}

但即使你这样做,你的average方法也没有多大意义。将方法声明为返回平均值或其参数会更好; e.g。

double average(double c,double d,double e,double f,double g)
{
    return (c+d+e+f+g)/5;
}

然后像这样调用它们(例如)

System.out.println(average(7.7, 8.4, 30.2, 1.4, 6.4));
  

哦,男人...... java给了我很多错误......我是Java的新人...... :(

烨。你似乎试图通过反复试验来学习。这是一个坏主意。这将是缓慢和令人沮丧的,你将无法识别/理解对受过良好教育的程序员来说是第二天性的重要概念和实践。

您需要购买和阅读Java教科书并进行练习。

(例如,您的教科书将解释如何避免使用不同数量和类型的参数编写大量不同的average方法。)

相关问题