为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的数组列表只填充了一个元素?

为什么我的数组列表只填充了一个元素?

狐的传说 2022-09-22 16:01:57
在代码中打印 f(i).x 时,将显示正确的 x 值。但是当我试图得到作为例子:points.get(2).x或任何其他值,我总是得到相同的x值。任何帮助都会很棒。主要类:import java.util.ArrayList;public class Main {    public static ArrayList<Point> points = new ArrayList();    public static void main(String[] args) {        for (float i = -5; i <= 5; i+=0.1) {            points.add(f(i));        }        for (int i = 0; i < points.size(); i++) {            System.out.println(points.get(i).x);            // shows always the same number: 4.95...        }    }    public static Point f(float x) {        return new Point(x, (-0.15f*((x + -2.1f) * (x + -2.1f)) + 4.3f));    }}积分等级:public class Point {    public static float x;    public static float y;    public Point(float x_, float y_) {        x = x_;        y = y_;    }}
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

正如您在类中将静态定义和静态时,这就是导致所有点具有相同值的原因。请阅读静态变量xyPoint

静态成员属于类而不是特定实例,这意味着如果使成员成为静态成员,则可以在没有对象的情况下访问它


查看完整回答
反对 回复 2022-09-22
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号