Java “上的语法错误”;“x”;,在此之后应为VariableDeclaratorld

Java “上的语法错误”;“x”;,在此之后应为VariableDeclaratorld,java,class,object,processing,Java,Class,Object,Processing,您好,我正在尝试向代码中添加一个类/对象,但它不起作用。这是迄今为止我所拥有的类,但当我从该类实例化一个对象(ranx1),然后尝试更改其中的一个变量(x)时,它表示存在错误。有什么我需要改变的吗?我真的很感激任何帮助 由于我实例化了该类中的一个对象,我将如何更改新对象的变量?例如,如果在类x=0中,那么我制作了一个副本,这次我希望x=100,但所有其他变量(如Tcol和fc)保持不变。我知道这是可能的,因为我的老师教过它,但它现在对我不起作用 class anyName { int Tco

您好,我正在尝试向代码中添加一个类/对象,但它不起作用。这是迄今为止我所拥有的类,但当我从该类实例化一个对象(ranx1),然后尝试更改其中的一个变量(x)时,它表示存在错误。有什么我需要改变的吗?我真的很感激任何帮助

由于我实例化了该类中的一个对象,我将如何更改新对象的变量?例如,如果在类x=0中,那么我制作了一个副本,这次我希望x=100,但所有其他变量(如Tcol和fc)保持不变。我知道这是可能的,因为我的老师教过它,但它现在对我不起作用

class anyName
{
  int Tcol = 0;
  int fc = 0;
  int x = 0;
  float randx = (random(1, 1000));
  float randy = (random (0, 600));
  int Tsizes = 1;
  {
    if (fc >= x) { //Random Ellipse 3
      stroke (Tcol);
      fill (Tcol);
      ellipse (randx, randy, Tsizes, Tsizes);
    }
  }
}

anyName ranx1 = new anyName();
ranx1.x = 100;

如果您试图从不在同一个包中的类访问变量,则需要将变量声明为“public”。

我猜您的问题是,您试图从另一个包中的类访问该属性,您应该将atributes声明为public以获得对它们的访问权。但是这个解决方案并不完全正确,更好的方法是将它们声明为私有,并创建公共getter和setter来访问/修改它们


说,您应该发布一个工作示例,该段代码不会编译,因为您试图执行任何类之外的代码。。。我不知道你想用
if
子句前面的大括号做什么。

当你处理一个类时,每个成员都有一个控件访问权限

当您不声明控件访问权限时,如:

ranx1.x = 100;
他们都得到了默认的隐私

您不能从类外访问私有成员

做:

不管是谁,我必须指出,大多数时候不建议将成员访问权限设置为公共的,您应该了解getter和setter

现在,我希望您的代码的其余部分位于一个主函数和一个主类中,但如果不是这样,它应该是这样的:

class anyName
{
  public int Tcol = 0;
  public int fc = 0;
  public int x = 0;
  public float randx = (random(1, 1000));
  public float randy = (random (0, 600));
  public int Tsizes = 1;
  {
    if (fc >= x) { //Random Ellipse 3
      stroke (Tcol);
      fill (Tcol);
      ellipse (randx, randy, Tsizes, Tsizes);
    }
  }
}

首先,您不能像那样访问子类veriables。如果你想访问,你应该这样做

public class Main
{
    public static void main(String[]args){
      anyName ranx1 = new anyName();
      ranx1.x = 100;
    }
}
或者,您可以在类内使用它们,方法是

 public class ExampleApp {  
    class anyName
    {
      int x = 0;     
    }

    public static void main(String[]args){
        ExampleApp ea = new ExampleApp();
        ExampleApp.anyName ranx1= ea.new anyName();
        ranx1.x =100;
    }
  }

如果要访问veriables private,则不能使用它们。其次,如果要使用此库,则不能使用innerclass。在innerclass内部,您无法访问库,因为java在不同的包中看到它。如果您将其设置为公共类并导入数学,您可以使用它,否则您应该为椭圆创建随机方法。

您认为何时执行
If
?技术上是正确的,但这是对新手的反建议-在真实代码中不应该有公共类变量!这是错误的,有一个默认访问,它不是私有的、受保护的或公共的。实际上离受保护的很近。什么?默认为会员专用!不,有一个包私有级别,成员可以在同一个包中访问,但不适用于儿童课程:你能给我你的电子邮件吗?我想发电子邮件给你,我需要帮助,因为它不起作用。你可以在这里提问,所以是提出问题的正确地方
 public class ExampleApp {  
    class anyName
    {
      int x = 0;     
    }

    public static void main(String[]args){
        ExampleApp ea = new ExampleApp();
        ExampleApp.anyName ranx1= ea.new anyName();
        ranx1.x =100;
    }
  }
    public void method() {
    anyName ea = new anyName();
    ea.x=100;

}