【问题标题】:Java, method, cant move code from main method to another methodJava,方法,无法将代码从主方法移动到另一个方法
【发布时间】:2015-01-03 05:51:32
【问题描述】:

我需要生成一个带有 taxTables 方法的 BogOff 类,该方法初始化一个收入递增的整数数组,在上表中显示的每个收入范围中至少有一个,并使用 TaxChart 对象生成一个细条形图以及对应的表格。

基本上,我已经完成了所有这些,并且它正在工作,但是对于我的生活,我无法将它移动到一个名为 taxTable 的方法中,我知道考虑到我已经编写的内容,这看起来非常基础。

public class BogOff {



public static void main (String[] args) {

    int[] Values = { 25, 50, 100, 125, 150, 175, 200, 225, 250, 275, 300,
            325, 350, 375, 400, 425, 450, 500, 550 };
    /*initialized my array of integers to used as the values of income 
     I will input*/

    TaxChart graph = new TaxChart(Values); //calling my graph
    graph.Initialize();
    graph.Draw();
    graph.PrintTable();
    //my graph uses the 2 methods, Initialize and Draw from TaxChart to 
    //render the graph PrintTable is used to output my income, tax and 
    //income remaining
    }


}

【问题讨论】:

  • 您尝试了什么,显示的错误是什么?
  • 我猜你忘了创建static 方法或在BogOff 实例上调用它。像public static void taxTable() { ... } 这样的方法应该可以工作。
  • @SillyFreak 我试图将它重写为没有 main 的方法,这当然不起作用,因为我从这个类运行,因此需要 main 方法,我也尝试制作另一种方法在 main 方法下面,因为 main 方法中没有内容,所以它不会运行。我想我正在寻找的是一种在 main 方法中调用包含上述代码的方法的方法。
  • 重复此:stackoverflow.com/questions/4922145/… 以后,请先用 Google 搜索您的错误消息。这是你能找到的最常见的一种。
  • 这是一个可能导致我们出现任何似是而非的错误的描述。如果您希望我们帮助您,您确实需要向我们展示确切的代码和错误。

标签: java arrays methods variable-assignment assign


【解决方案1】:
public class BogOff {



public static void main (String[] args) {
    initAndDrawGraph();
}

public static void initAndDrawGraph() {

    int[] Values = { 25, 50, 100, 125, 150, 175, 200, 225, 250, 275, 300,
            325, 350, 375, 400, 425, 450, 500, 550 };
    /*initialized my array of integers to used as the values of income 
     I will input*/

    TaxChart graph = new TaxChart(Values); //calling my graph
    graph.Initialize();
    graph.Draw();
    graph.PrintTable();
    //my graph uses the 2 methods, Initialize and Draw from TaxChart to 
    //render the graph PrintTable is used to output my income, tax and 
    //income remaining
    }


}

由于main() 是静态的,从main 调用的其他方法要么需要是静态的,要么它可以是非静态方法但从BogOff 的实例调用,而不仅仅是从BogOff 中的main .

【讨论】:

  • 你有代表。投票将其作为副本关闭,而不是提供此问题的第 5000 个通用答案。传播所有这些信息并重申它没有任何好处。
  • 迄今为止引用的唯一其他答案是关于从另一个类以静态方式调用实例方法。对于您和我以及其他具有 Java 经验的人来说,这与 OP 的问题和此答案直接相关。但是对于还不熟悉 static v 实例的人来说,可能很难从那个答案中提取出他需要的东西。他没有引用错误消息,他的 IDE 可能会显示不同的内容。随意投反对票——我知道有些人喜欢这样——但我认为这种重申不值得。
  • @BenBowen 很高兴为您提供帮助;建议,在未来的 SO 问题中,不要发布原始代码并询问如何完成某事,而是发布带有问题的(最小可能的)代码和复制粘贴的错误消息。当问题针对所展示的问题、具有我们可以复制并查看错误的代码以及包含实际错误(不是错误的描述或解释)时,问题往往会得到更多关注。
  • @SillyFreak,当没有经验的 Java 程序员面临一些基础知识时,他们很难提出明确的问题,因为他们不知道他们所询问的术语和原则。他们仍然可以提出比这更好的问题,我为此提供了 OP 建议。但是您断言它“无法回答”和“没有答案”,并且我“弄错了”并写了“错误的答案”,这看起来很愚蠢,因为 OP 说我的答案(没有任何修改)是“正是 [他] 需要的”。
  • 显然您认为对答案投反对票是合适的,但您无法明确说明它有什么问题。当您尝试时,您说这完全不合逻辑。我猜对了,没有看到他的“澄清”评论,他没有把关于静态方法和主要方法的所有规则都放在一起,并为他提供了“正是[他]需要的东西”。这个“澄清”评论给出了错误信息,但这并不是他所需要的。那么,有人愿意告诉我答案有什么问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多