Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 如何添加return语句?_Java_Variables_Methods_Return - Fatal编程技术网

Java 如何添加return语句?

Java 如何添加return语句?,java,variables,methods,return,Java,Variables,Methods,Return,爪哇 我想访问另一个类中的“dist”。但是,我无法这样做,因为变量位于方法内部。我无法将该方法更改为“public double”,因此无法将其放在get方法中。小费 public void paintComponent(Graphics g) { super.paintComponent(g); for (Circle circle : circles) { circle.draw(g); if (selectedCircle != null

爪哇

我想访问另一个类中的“dist”。但是,我无法这样做,因为变量位于方法内部。我无法将该方法更改为“public double”,因此无法将其放在get方法中。小费

public void paintComponent(Graphics g) {
    super.paintComponent(g);

    for (Circle circle : circles) {
        circle.draw(g);
        if (selectedCircle != null && selectedCircle == circle) {
            selectedCircle.drawSelected(g);
        }
    }

    for (int i = 0; i < circles.size(); i++) {
        Circle c1 = circles.get(i);
        for (int j = i + 1; j < circles.size(); j++) {
            Circle c2 = circles.get(j);

            double dist = c1.getPoint().distance(c2.getPoint()) + 1;
            double dx = (c2.x - c1.x) / dist / dist;
            double dy = (c2.y - c1.y) / dist / dist;
            c1.x += dx;
            c1.y += dy;
            c2.x -= dx;
            c2.y -= dy;

        }
    }

}
公共组件(图形g){
超级组件(g);
用于(圆:圆){
画圆(g);
if(selectedCircle!=null&&selectedCircle==circle){
选择圆圈。选择绘图(g);
}
}
对于(int i=0;i
A
paintComponent
方法将更新您的圆圈,如果它们发生了某种变化。这不是一个自己做出这些改变的地方。因此,第二个循环中的代码应该移到别处,例如,移到
Circle
的构造函数和/或移到
moveCircle
方法中<进行这些更改后,系统将调用代码>油漆组件。另外,关于第一个循环,还不清楚什么是
selectedCircle
,可能是一个实例变量。如果是这样的话,不要在循环内部绘制它,只能绘制一次。

您可以将
dist
声明移到方法外部并移到类主体中,然后为其他类提供一个getter来利用访问它

private double dist;

public double getDist() {
   return dist;
}

public void paintComponent(Graphics g) {
    super.paintComponent(g);

    for (Circle circle : circles) {
        circle.draw(g);
        if (selectedCircle != null && selectedCircle == circle) {
            selectedCircle.drawSelected(g);
        }
    }

    for (int i = 0; i < circles.size(); i++) {
        Circle c1 = circles.get(i);
        for (int j = i + 1; j < circles.size(); j++) {
            Circle c2 = circles.get(j);

            dist = c1.getPoint().distance(c2.getPoint()) + 1;
            double dx = (c2.x - c1.x) / dist / dist;
            double dy = (c2.y - c1.y) / dist / dist;
            c1.x += dx;
            c1.y += dy;
            c2.x -= dx;
            c2.y -= dy;

        }
    }

}
专用双区;
公共双getDist(){
返回距离;
}
公共组件(图形g){
超级组件(g);
用于(圆:圆){
画圆(g);
if(selectedCircle!=null&&selectedCircle==circle){
选择圆圈。选择绘图(g);
}
}
对于(int i=0;i
请不要添加代码图像,而是将其作为文本添加到问题中。如果您需要所有可能的
圆圈对之间的距离
可以将它们存储在
列表中
双[]
中,并使用
i,j
确定索引,为了有一个扁平的数据结构并避免像
Map
@edgarastaryan这样的事情,我的目标是在我的类中简单地使用'dist'。在这里,我添加了一个if语句:if(dist<10){……因此,创建一个列表应该没有必要。我希望这能澄清我的问题。谢谢,这是一些有用的提示!