如何让我的Setter与我的单独课程互动?

时间:2013-03-26 16:37:12

标签: java arrays setter

public class Thing
{
public static void main (String[] args)
    {
    //I set my veriables and prompt user to enter number of names
    //Prompt user for First and Last name and Store names in an array of classes

    Arrays.sort(listOfName, new Comparator<otherClass>()//Sort names according to last name
    //code here for that (which i have but not the issue)
    for (int i = 0; i<numName; i++)
        {
        ans = JOptionPane.showInputDialog(null,"How Many Students does: \n "+ listOfName[i]+ " Have");
        int val = Integer.parseInt(ans);
        otherClass.setnumStudents(val);// in my Separate class I have a setnumStudents
        }
    for(int i = 0; i<numName; i++)
        {
        System.out.println(listOfName[i]);
        }
    }

在我的程序的早些时候,我根据单独的类otherClass将我的数组设置为存储,并且int numStudents最初设置为0,在收集firstName和lastName之后我按字母顺序排列数组,然后询问如何每个人都有很多学生。使用setter setnumStudents我尝试更改存储在数组中的numStudents。我的代码就是这样,我收到了这个错误:

non-static method setnumStudents(int) cannot be referenced from a static context
        otherClass.setnumStudents(val);
             ^              

感谢您对此问题的任何帮助

2 个答案:

答案 0 :(得分:1)

我想你想要:

listOfName[i].setnumStudents(val);

或者那条线上的东西。 Java编码约定通常在camel的情况下具有以大写字母开头的类名。 otherClass是一个班级名称吗?它应该OtherClass以避免混淆。

我不知道listofName[i]是否是'listOfTutor [i]'的正确实例,但您需要找到otherClass实例

答案 1 :(得分:0)

  

非静态方法setnumStudents(int)不能从a引用   静态上下文

表示您正在使用类访问非静态方法,而您应该使用实例(对象)。

以下

otherClass.setnumStudents(val);

是otherClass你提到的另一个类的名字?在这种情况下,您需要实例化此类并使用该实例。

BTW,在Java类名中通常以大写字母开头。