package com.zs.windows;

import java.util.ArrayList;
import java.util.Scanner; import com.zs.entity.Goods;//导入Goods类,下面会说明怎么创建Goods类 public class Shop { private static Scanner s; public static void main(String[] args) {
s = new Scanner(System.in);
ArrayList<Goods> arr=new ArrayList<Goods>();
chuShiData(arr);
while (true) {
Windows();//功能菜单窗口
System.out.print("请选择功能:");
int num=s.nextInt();
switch (num) {
case 1:
printarr(arr);//调用遍历集合方法
break;
case 2:
addshop(arr);//调用添加元素方法
break;
case 3:
upkeepShop(arr);//调用修改元素方法
break;
case 4:
deleteShop(arr);//调用删除方法
break;
case 0:
return;
default:System.out.println("请输入正确的选择!!!");
break;
}
}
}
//创建删除商品方法
private static void deleteShop(ArrayList<Goods> arr) {
// 先创建功能菜单
System.out.println("**********删除***********");
System.out.println("1. 删除指定商品");
System.out.println("2. 删除全部商品");
System.out.println("************************");
System.out.print("请选择:");
int num=s.nextInt();
switch (num) {
case 1:
printarr(arr);
System.out.println("请输入要删除的商品序号:");
arr.remove(s.nextInt());//清除制定下标元素
break;
case 2:arr.clear();//清除集合所有元素
default:System.out.println("请输入正确的格式:");
break;
}
}
//创建修改商品方法
private static void upkeepShop(ArrayList<Goods> arr) {
// 创建修改功能界面 System.out.println("请输入要修改的商品序号:");
int num=s.nextInt();
Goods g=arr.get(num);
while(true){
System.out.println("********修改商品*********");
System.out.println("1.修改品牌名");
System.out.println("2.修改价格");
System.out.println("3.修改尺寸");
System.out.println("4.修改库存");
System.out.println("0.退出");
System.out.println("**********************");
System.out.print("请选择:");
int check=s.nextInt();
//根据选择对象的属性来对象修改值
switch (check) {
case 1:
System.out.println("请输入品牌名:");
g.brand=s.next();
break;
case 2:
System.out.println("请输入修改后价格:");
g.price=s.nextDouble();
break;
case 3:
System.out.println("请输入修改后尺寸:");
g.size=s.nextDouble();
break;
case 4:
System.out.println("请输入新的库存:");
g.count=s.nextInt();
break;
case 0:return;
default:System.out.println("请输入正确的格式");
break;
}
arr.set(num, g);//将指定下标元素修改为新的元素
printarr(arr);//遍历输出集合
}
} //创建添加商品方法
private static void addshop(ArrayList<Goods> arr) {
// 创建Goods对象
Goods g=new Goods();
System.out.println("请输入商品名:");
g.brand=s.next();
System.out.println("请输入商品价钱:");
g.price=s.nextDouble();
System.out.println("请输入商品尺寸:");
g.price=s.nextDouble();
System.out.println("请输入库存:");
g.count=s.nextInt();
arr.add(g);
printarr(arr);
}
//创建桌面菜单
private static void Windows() {
// TODO 自动生成的方法存根
System.out.println("****************商品管理***************");
System.out.println("\t1.查看所有商品");
System.out.println("\t2.添加商品");
System.out.println("\t3.修改商品");
System.out.println("\t4.删除商品");
System.out.println("\t0.退出");
System.out.println("*************************************");
}
//创建遍历查看所有商品方法
private static void printarr(ArrayList<Goods> arr) {
// TODO 自动生成的方法存根
System.out.println("***************商品*****************");
System.out.println("商品序号\t品牌\t价钱\t尺寸\t库存");
for (int i = 0; i < arr.size(); i++) {
Goods g=arr.get(i);
System.out.println(i+". "+g.brand+"\t"+g.price+"\t"+g.size+"\t"+g.count);
}
System.out.println("\n");
} private static void chuShiData(ArrayList<Goods> arr) {
// 设置集合初始化数据;
Goods s1=new Goods();
s1.brand="小米";
s1.price=1999.99;
s1.size=15.5;
s1.count=10;
arr.add(s1);
Goods s2=new Goods();
s2.brand="华为";
s2.price=1888.4;
s2.size=4.2;
s2.count=40;
arr.add(s2);
Goods s3=new Goods();
s3.brand="金立";
s3.price=10.88;
s3.size=5.5;
s3.count=100;
arr.add(s3);
} }

在执行上面类之前,要先建一个Goods类,

package com.zs.entity;

public class Goods {
public String brand;
public double price;
public double size;
public int count;
}

ArrayList方法综合练习的更多相关文章

  1. C# Arraylist + struct 综合练习 枚举ENUE 递归

    枚举类型 一组常量的组合, 在不制定任何索引的情况下,默认第一个字段从0开始,之后的依次+1 在指定了某个索引的情况下,之后的依次+1 若之前定义的某字段的索引指向了之后的某个默认字段,那么他俩完全相 ...

  2. Java基础——ArrayList方法全解(字典版)

    引言 在使用集合 ArrayList 的时候,经常使用add.remove等,其他的没用过,甚至没听说过的还有很多.现在在这个教程中,简单的了解一下,不要求全都记下.相当于在你脑袋里建一个索引,就是有 ...

  3. Java_LIST使用方法和四种遍历arrayList方法

    1.List接口提供的适合于自身的常用方法均与索引有关,这是因为List集合为列表类型,以线性方式存储对象,可以通过对象的索引操作对象.   List接口的常用实现类有ArrayList和Linked ...

  4. JavaScript中的内置对象-8--2.String-符串对象 方法; 截取方法; 综合应用; 其他方法;

    JavaScript内置对象-2String(字符串) 学习目标 1.掌握字符串对象 方法: charAt() charCodeAt() indexOf() lastIndextOf() charAt ...

  5. java全栈day11----构造方法 综合案例

    构造方法 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的事情,当使用n ...

  6. kaggle 欺诈信用卡预测——不平衡训练样本的处理方法 综合结论就是:随机森林+过采样(直接复制或者smote后,黑白比例1:3 or 1:1)效果比较好!记得在smote前一定要先做标准化!!!其实随机森林对特征是否标准化无感,但是svm和LR就非常非常关键了

    先看数据: 特征如下: Time Number of seconds elapsed between each transaction (over two days) numeric V1 No de ...

  7. ArrayList方法源码分析

    本文将从ArrayList类的存储结构.初始化.增删数据.扩容处理以及元素迭代等几个方面,分析该类常用方法的源码. 数据存储设计 该类用一个Object类型的数组存储容器的元素.对于容量为空的情况,提 ...

  8. 三种迭代Java ArrayList方法及比较

    闲来无事,研究一下Java Collection,首先是ArrayList. 通过三种方式遍历了长度为100000的ArrayList. import java.util.*; public clas ...

  9. 每天一个JS 小demo之商品筛选。主要知识点:DOM方法综合运用

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...

随机推荐

  1. sqlserver给指定用户授权访问指定表

    一.   背景 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表 二.sqlserver 脚本 ---创建视图CR ...

  2. HDU - 4780费用流

    题意:M台机器要生产n个糖果,糖果i的生产区间在(si, ti),花费是k(pi-si),pi是实际开始生产的时间机器,j从初始化到生产糖果i所需的时间Cij,花费是Dij,任意机器从生产糖果i到生产 ...

  3. input type="number" 时 maxlength不起作用

    给input标签添加 oninput=“if(value.length>11) value=value.slice(0,11)”

  4. CRS添加、删除节点

    一.如何删除一个节点: 1.1 在存活的节点上操作,使用dbca删除DB实例 1.2 清除ASM实例  在存活的节点上做如下操作  1.2.1 停止ASM实例    export ORACLE_HOM ...

  5. 使用INTERSECT运算符

    显示符合以下条件的雇员的雇员ID 和职务ID:这些雇员的当前职务与以前的职务相同,也就是说这些雇员曾担任过别的职务,但现在又重新担任了以前的同一职务. hr@TEST0924> SELECT e ...

  6. java前后向查找个人理解

    举一个最简单的栗子 这个前后说的是0宽所在的位置,是在:前还是后 http://www.sb.com 1.前向正向查找 (1) 如果用:.*(?=:) 首先(?=:)被称作0宽度断言,所谓0宽度应该是 ...

  7. Ajax实现跨域访问的两种方法

    调程序时遇到"已拦截跨源请求:同源策略禁止读取位于--的远程资源",这是因为通过ajax调用其他域的接口会有跨域问题. 解决方法如下: 方法一:服务器端(PHP)设置header头 ...

  8. docker实战系列之快速删除docker中的容器

    1.停用全部运行中的容器 docker stop $(docker ps -q) 2.删除全部容器 docker rm $(docker ps -aq) 3.停用并删除容器 docker stop $ ...

  9. Oracle awr报告生成操作步骤

    1.登录主机切换到oracle用户 ssh root@192.168.220.128 su - oracle 2.以sysdba身份登录数据库 sqlplus / as sysdba 3.执行@?/r ...

  10. weblogic启动比一般机器慢原因

    weblogic启动慢一般先看setDomainEnv.sh中分配给JVM的内存大小,如果分配足够(没部应用一般也要1G以上)那么再用free -g看本机剩余内存是否充足.如果都没问题还是比一般机器启 ...