Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个方法是如何工作的_Java - Fatal编程技术网

Java 这个方法是如何工作的

Java 这个方法是如何工作的,java,Java,所以我得到了Graph.java文件,其中有一个方法(里面有更多的东西): 这个Graph.java文件中不再提到这个Graph方法。现在,在grooms之后,变量变为=gr=30。而30在Graph.java中从未提及。我想这个方法是从另一个文件调用的,对吗 现在有了BrideInSwing.java文件,还使用了have Graph方法: if (which == 1){ graphic = new Graph((Math.floor(((d_bride+d_groom) * 3 +

所以我得到了
Graph.java
文件,其中有一个方法(里面有更多的东西):

这个Graph.java文件中不再提到这个Graph方法。现在,在grooms之后,变量变为
=gr=30
。而
30
Graph.java
中从未提及。我想这个方法是从另一个文件调用的,对吗

现在有了BrideInSwing.java文件,还使用了have Graph方法:

if (which == 1){
   graphic = new Graph((Math.floor(((d_bride+d_groom) * 3 + divorce) * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);               
} else {
   graphic = new Graph((Math.floor((d_bride + d_groom) * 3 * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);
}  
根据我的理解,这个调用Graph方法的参数对应于
Graph.java
文件?如果是这样的话,那么为什么这里给出的参数比
Graph.java
文件中的参数多,因为它只有5个:
y
gr
title
vidurkis
trend


还是我完全错过了什么?谢谢。

您对代码的分析实际上并不遥远

您的graph方法是一个构造函数,一种用于创建新对象的方法。我建议你多读一些面向对象编程的知识,做一两个教程,让你的脚在你的脚下


我在谷歌上快速搜索了一下,发现,应该是你的拿手好戏。

这不是一个方法,而是一个
构造函数。它使用给定的初始化参数(在第二个代码中给出)创建一个类
Graph
的新对象

您可以使用重载构造函数,多个构造函数分别使用不同数量/类型的参数。编译器将选择符合指定参数列表的构造函数(如果没有可用的构造函数,则抛出编译器错误)


上述所有方法也适用于常规方法。

根据定义,公共方法旨在从类的外部调用(它们也可以从内部调用,但如果这是唯一的目标,则该方法应该是私有的)

然而,这个方法不是一个方法,而是一个构造函数

它由5个参数调用:

  • 数学楼层((新娘+新郎)*3+离婚)*10)/10
  • 新郎
  • “新郎人数:“+grooms+”新娘分布:“+du新娘+”新郎分布:“+du新郎”
  • pr_vidurkis
  • 趋势

  • 代码中最麻烦的是,构造函数接受5个参数,但对其中4个参数什么也不做。要么使用参数,要么删除参数。

    您必须发布一个我们可以运行的示例-这很难在缺少信息的情况下进行调试。但要提供一个总体概述,它们似乎都有5个参数。项目中总共有5个文件,所以我不会把所有的东西都贴在这里。^^如果你学会如何贴a,那么你会发现未来的问题更容易/更快解决。这也加强了你自己的调试技巧。SSCE需要做很多工作,但我要检查一下:)和sdadas是对的,都有5个参数,这就是调用的构造函数(没想到我必须重复检查你的计数…)谢谢,所以变量gr的值是30,因为它是从其他文件中用某些参数调用的?现在主要的问题是:为什么当我想在两边添加额外的参数时,我不能。例如,在图形方法的末尾,我添加了int-bb,并相应地在其他文件中添加了一些其他参数?哦,还有我的第一个问题,为什么不同文件中的参数数量不一致?发布新版本的构造函数和调用行,以及错误消息。编辑你的问题,把它们包括在内,不要在这里发表评论。好的,伙计们,我什么都懂。我愚蠢的错误是我只在if中加了参数,而不是在else中,现在它可以工作了。还有,我只是没有发布所有的代码,它使用每个变量。您很好地解释了所有5个参数,但我仍然不理解为什么它是一个字符串,它是通过将各种静态部分(引号之间)与变量值连接起来而获得的
    +
    是串联运算符。参数之间用逗号分隔。有趣的是,我想了解更多!thx:)
    if (which == 1){
       graphic = new Graph((Math.floor(((d_bride+d_groom) * 3 + divorce) * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);               
    } else {
       graphic = new Graph((Math.floor((d_bride + d_groom) * 3 * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);
    }