【问题标题】:Calling a class in main在 main 中调用一个类
【发布时间】:2012-03-20 10:52:10
【问题描述】:

您好,我似乎在调用 main 中的类时遇到了问题。谁能指出来?

KilometerTabel.java

package pratikum31d;
public static double mijlToKilometer() {
    double mijl;
    mijl = 0;
    for (int i = 1; i < 11; i++) {
        mijl = i;
    }
    double kilometer = 1.609 * mijl;
    System.out.println(kilometer + " kilometer" + " dat is " + mijl + " mijl");
    return kilometer;
}

Main.java

package pratikum31d;
public class Main {

    public static void main(String[] args) {

        kilometer = mijlToKilometer();

    }
}

【问题讨论】:

  • 你导入KilometerTabel了吗?
  • 导入部分不应该很重要,因为我已经有了这个:package pratikum31d;在两个 java 文件的第一行
  • 请编辑您的帖子并解释您遇到的问题。 “我似乎遇到了问题”而不说明您遇到了什么问题是没有意义的;这就像打电话给您的医生并说“我在这里受伤了。可能出了什么问题?”。如果没有更多信息(包括“就在这里”的位置),您将不会得到答案。每当您键入“我遇到错误”或“我有问题”时,您需要立即跟进错误或问题,包括您收到的任何错误消息。写出更好的问题会带来更好的答案机会。 :)

标签: java class static main public


【解决方案1】:

您从未在main 中定义名为mijl 的变量。您希望将什么值传递给mijlToKilometer

===更新 ===

你的新代码会有以下问题:

mijlToKilometer 仍被声明为期望一个参数,因此您将无法在没有参数的情况下调用它。您必须从 mijlToKilometer 的定义中删除 double mijl

您的 for 循环并没有按照您的想法执行,尽管我很难确定它应该做什么。

【讨论】:

  • 您好,我添加了“double mijl;”就在双公里上方......现在它说:变量 mijl 可能尚未初始化
  • @AndrewNg:那是因为你还没有初始化它。您希望mijl 具有什么价值?
  • 变量“mijl”可能尚未初始化。你初始化了吗?其他糟糕的变量在传递给方法时不会知道它的值。
  • @ruakh 该值应该是在 KilometerTabel.java 的 for 循环中生成的 i
  • @AndrewNg,我认为您可能需要查看一些非常基本的 Java 教程。我无法在这里解决您的全部困惑。
【解决方案2】:

您必须将 mijlToKilometer 声明为公开。

public static double mijlToKilometer(double mijl)

【讨论】:

    【解决方案3】:

    KilometerTabel 和主类的包是什么?您没有在静态方法之前放置任何 public/private/protected 修饰符。所以默认情况下,它将有defaultvisibility。在包装内可见。确保将两个类都放在同一个包中,或者在方法之前放置 public 关键字。

    其次,您能否发布确切的例外情况?

    【讨论】:

    • 对不起,我没有完全关注你。你看我刚开始为学校作业写 Java,所以你确实在那里说了一些有用的东西,但我还是不太明白:p
    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多