我正在构建一个像商店这样的程序,它有产品并且可以选择以价格和所有东西出售它们。我想做一个选项,允许我从程序中将新产品添加到阵列中为此,我需要增加我的数组长度。而且我知道了你的所有帮助!
Proudact MilkProd = new Proudact("Milk", 5.55, 50, 10, 0);
Proudact ChessProd = new Proudact("Chess", 4.35, 50, 10, 1);
Proudact AppleProd = new Proudact("Apple", 1.25, 50, 10, 2);
Proudact WotermelonProd = new Proudact("Wotermelon", 6.21, 50, 10, 3);
Proudact [] MyArray = {MilkProd,ChessProd,AppleProd,WotermelonProd};
NewProd(MyArray);
public static void NewProd(Proudact[] MyArray){
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 1; i++) {
MyArray[length] = MyArray[MyArray.length+1];
System.out.println("Enter Proudact Name : ");
String Name = scan.next();
System.out.println("Enter Proudact Price : ");
int price = scan.nextInt();
System.out.println("Enter Proudact Stuck : ");
int Stuck = scan.nextInt();
System.out.println("Enter Proudact MinStuck");
int minStuck = scan.nextInt();
System.out.println("Enter Proudact Id :");
int id = scan.nextInt();
Proudact NewProudact = new Proudact(Name,price,Stuck,minStuck, id);
MyArray[MyArray.length]=NewProudact;
}
}
答案 0 :(得分:3)
答案 1 :(得分:3)
为什么不使用列表而不是数组,因为数组具有静态长度但列表具有动态。
所以而不是:
Proudact[] MyArray = ...
像这样创建Proudact类型的新列表:
List<Proudact> myList = new ArrayList<Proudact>();
然后你可以简单地将项目添加到列表中:
myList.add(new Proudact(Name,price,Stuck,minStuck, id));
因此,您案例的完整示例应如下所示:
List<Proudact> myList = new ArrayList<Proudact>();
myList.add(new Proudact("Milk", 5.55, 50, 10, 0));
myList.add(new Proudact("Chess", 4.35, 50, 10, 1));
myList.add(new Proudact("Apple", 1.25, 50, 10, 2));
myList.add(new Proudact("Wotermelon", 6.21, 50, 10, 3));
public static void NewProd(Proudact[] MyArray){
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 1; i++) {
System.out.println("Enter Proudact Name : ");
String Name = scan.next();
System.out.println("Enter Proudact Price : ");
int price = scan.nextInt();
System.out.println("Enter Proudact Stuck : ");
int Stuck = scan.nextInt();
System.out.println("Enter Proudact MinStuck");
int minStuck = scan.nextInt();
System.out.println("Enter Proudact Id :");
int id = scan.nextInt();
myList.add(new Proudact(Name,price,Stuck,minStuck, id));
}
}
检查java集合教程here以获取更多详细信息。
答案 2 :(得分:0)
您将不得不创建一个更大的新数组,并从那里复制旧数组中的所有数据。但是你必须使用数组吗? Set会更容易使用
答案 3 :(得分:0)
使用ArrayList,然后将其转换为数组,如果这是你想要的结果。
List<Proudact> proudactList = new ArrayList<>();
用Proudact类和&amp;的对象填充它然后将其转换为数组
Proudact[] array = proudactList.toArray(new Proudact[proudactList.size()]);