在我的任务中,我应该创建一个程序,该程序使用开关盒访问不同类的方法来执行某些操作。第一种情况需要用户输入,并且该输入用于其他类的构造函数中。然而,如果我在第一种情况下初始化类对象,我从其他情况下得到错误,因为对象可能尚未初始化。我如何为拥有我的方法的类创建该对象,并仍然将开关案例中提示的用户输入获取到构造函数中?我知道构造函数的参数之前如何初始化类对象?
public class NumberList{
int length; int offset;
public NumberList(int length, int offset){ //constructor
this.length = length; this.offset = offset;
}
public void shift(int a){ //shift method
temp = numbers[0];
for (int i = 0; i < length-1; i++) {
numbers[i] = numbers[i+1];
}
numbers[length - 1] = temp;
}
说这是我的班,有一个方法来移动数组元素。我的主要方法是
public class assignment7{
public static void main(String[] args){
int choice;
do{
System.out.println("input choice");
choice = scan.nextInt();
switch(choice){
case '1':
System.out.println("input the array size.");
size = scan.nextInt();
System.out.println("input the array offset.");
offset = scan.nextInt();
NumberList numbasbrah = new NumberList(size, offset);
numbasbrah.printInfo();
break;
case '2':
numbasbrah.shift();
numbasbrah.printInfo();
break;
case '3': //quit
break;
}while(choice!=3);
}} //end main method
所以如果我创建的开关情况下,我得到“变量可能尚未初始化”错误的NumberList对象,但它需要有这样我就可以在添加用户输入构造函数。我如何初始化对象,同时仍然能够在开关情况下添加构造函数的信息?
这是所有的代码? NumberList如何在没有任何数字声明[]的情况下编译? –
不,我试图压缩......它可能是总代码的1/8,实际的NumberList总共有6种方法 –
所以如果用户选择案例2,那么应该移动什么?那里会有默认值吗? –