有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法访问主方法Java中的类的实例

所以我有一个类用来描述一个圆,在主要的方法中,我应该看看两个圆是否相交。我需要创建两个类的实例,当我这样做时,我无法访问它们的值?带t的行不起作用,因为它说找不到大的或小的

if (r2 >= r1){
    MyCircle Big = new MyCircle(x2,y2,r2);
    MyCircle Lil = new MyCircle(x1,y1,r1);}
else { 
    MyCircle Big = new MyCircle(x1,y1,r1);
    MyCircle Lil = new MyCircle(x2,y2,r2);
}

t = Lil.getX()-Big.getX();

共 (1) 个答案

  1. # 1 楼答案

    你在两个不同的作用域内声明Big和Lil,所以它们不能在外部使用

    试试这个:

    MyCircle Big = null;
    MyCircle Lil = null;
    if (r2>=r1){
        Big=new MyCircle(x2,y2,r2);
        Lil= new MyCircle(x1,y1,r1);
    } else { 
        Big= new MyCircle(x1,y1,r1);
        Lil=new MyCircle(x2,y2,r2);}
    }
    t=Lil.getX()-Big.getX();
    

    java中的“scope”以“{”开头,以“}”结尾,所有在这些括号内声明的内容都只存在于这些括号内

    此外:

    1. 通常在java中,变量的第一个字母是小写的,所以“Big”应该是“Big”,而“Lil”应该是“Lil”。这不是必须的,但却是一个被广泛接受的惯例。类名应该是大写的
    2. 你发布的代码片段中没有声明“t”,我希望它之前已经定义过了