我正在用java编写我的第一个类。
我做了一个带有int []的类,必须用3个元素声明。
public abstract class MyClass {
private String name;
private int[] myValues = new int[2];
现在我的问题是:
然后.. 构造函数是执行此操作的最佳方法,因此我使用明确要求的每个元素执行构造函数:
public MyClass(String nam, int val0, int val1, int val2){
int[] values = new int[]{val0, val1, val2};
setMyValues(values);
}
private void setMyValues(int[] vals){
this.myValues = vals;
}
这是一个好习惯吗?似乎很复杂,而不是给出一个简单的数组:
public void MyClass(int[] vals)..
但是通过这种方式我无法确定元素的数量。我应该创建一个自定义异常或if(vals.length!= 2)cicle ..
我还有其他一些疑问:
用于声明myValues = new int [2],或者只是简单地编写int [] myValues? (为什么要声明内部状态中的元素数量?)
最好从构造函数接收参数或将向量传递给setter(setMyValues(int [] vals))并在setter中检查数组?
坦克你的每一个建议。
答案 0 :(得分:1)
希望得到这个帮助。
答案 1 :(得分:1)
public class MyClass {
private String name;
private int[] myvalues = new int[3];
//you want the array to hold 3 elements so the size should be 3
//constructor
public MyClass(String name) {
this.name = name; // each instance is defined by a name
System.out.println("enter 3 values, each on a line");
//3
//4
//5
for(int i = 0; i < 3 ;i++) {// loop restricts the user to 3 elements
Scanner console = new Scanner(System.in); // import Scanner
this.myvalues[i] = console.nextInt();
}
//myvalues = {3,4,5}
}
public static void main(String[] args) {
MyClass C = new MyClass("Points of triangle");
}
}
您需要声明数组的大小以避免空指针异常。 这样,您可以使用用户
中的数组元素声明不同的对象请注意 如果您希望用户在同一行输入
System.out.println("enter 3 values on a line separated by space");
//3 4 5
Scanner console = new Scanner(System.in); // import Scanner
for (int i = 0; i <3 ; i++) {
this.myvalues[i] = console.nextInt();
}
}
//myvalues = {3,4,5}