有谁可以解释一下这个项目里面的一些注释?我有点不理解,希望有详解
package PJ1;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
public class Project {
static Collection<Phone> c = new ArrayList();//这里为什么需要用static
public static void main(String[] args) {
//这里为什么add里面添加的要先建立一个Phone?不能直接c.add()添加吗?
c.add(new Phone("小米9", "玫瑰金", 3999.00, 15));
c.add(new Phone("小米9", "幻彩紫", 3699, 28));
c.add(new Phone("华为P30", "白金色", 5699, 2));
c.add(new Phone("华为P30", "绚彩白", 5999, 18));
c.add(new Phone("VIVO PLus9", "幻彩紫", 2699, 28));
c.add(new Phone("魅族 16th", "紫金黑", 5229, 10));
c.add(new Phone("苹果 11", "土豪金", 8999, 51));
//这里true是怎么进行判断的?
while (true) {
System.out.println("欢迎使用库房管理系统,请选择要进行的操作");
System.out.println("1. 商品入库");
System.out.println("2. 商品显示");
System.out.println("3. 删除商品");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();//从键盘上收录数据
if (num == 1) {
add();
System.out.println("商品入库成功,入库后仓库商品如下:");
show();
} else if (num == 2) {
show();
} else if (num == 3) {
System.out.println("请您输入需要删除的商品编号:");
Scanner s = new Scanner(System.in);
int index = s.nextInt();
delete(index);
System.out.println("商品出库成功,出库后仓库商品如下:");
show();
} else {
System.out.println("操作失败");
}
}
}
//这里和下面为什么要添加私有静态方法,而上面的却是公有静态
private static void add() {
//这里为什么又有while(true)为什么写这个?怎么判断了true的啊?有没有输入true。
while (true) {
System.out.println("您是否录入商品?");
Scanner s2 = new Scanner(System.in);
String w = s2.next();
if (!w.equals("no")) {
Scanner s=new Scanner(System.in);
System.out.println("请输入商品的名称:");
String name=s.next();
System.out.println("请输入商品的颜色:");
String color=s.next();
System.out.println("请输入商品的价格:");
double price=s.nextInt();
System.out.println("请输入商品的数量:");
int num=s.nextInt();
//这一句里面的是什么意思?
c.add(new Phone(name,color,price,num));
break;
}else{
break;
}
}
}
private static void show(){
Iterator it=c.iterator();
while(it.hasNext()){
//下面这句什么意思?为什么括号里面要加phone
Phone p=(Phone)it.next();
System.out.println(p.getName()+"...."+p.getColor()+"...."+p.getPrice()+"...."+p.getNum()+"....");
}
}
private static void delete(int index){
c.remove(index);
}
}