「java增加商品数量」java并发修改商品数目
本篇文章给大家谈谈java增加商品数量,以及java并发修改商品数目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java在添加商品里实现一个数量的叠加
- 2、java难题,请求java大神帮助,谢谢各位?
- 3、java 中怎么向arraylist中添加数据呢? 如下代码
- 4、JAVA题 求大神做一下 大二的
- 5、java购物车 添加相同商品时怎么自动累加
- 6、用java写了个小程序生产者消费者,生产的时候缓冲池中的商品数就逐个增加,可是消费的时候缓冲池商品不变
java在添加商品里实现一个数量的叠加
这个还要读取文件,不然你也不清楚那个商品是有的。这个问题这种方式不好回答,方便就把代码都粘出来
java难题,请求java大神帮助,谢谢各位?
题主可参考我的答案,亲测可用, 如果有什么不懂可追问
首先建立商品类:
public class Product {
/**
* 商品编号
*/
private String number;
/**
* 商品名称
*/
private String name;
/**
* 商品价格
*/
private float price;
/**
* 商品数量
*/
private int quantity;
public float getPrice() {
return price;
}
public int getQuantity() {
return quantity;
}
public Product(String number, String name, float price, int quantity) {
this.number = number;
this.name = name;
this.price = price;
this.quantity = quantity;
}
public void printProduct() {
System.out.println("商品编号:" + this.number);
System.out.println("商品名称:" + this.name);
System.out.println("商品价格:" + this.price);
System.out.println("商品数量:" + this.quantity);
}
}
2. 再建立测试类,直接运行main方法即可
public class ProductTest {
public static void main(String[] args) {
ListProduct productList = new ArrayList();
Product product1 = new Product("001", "商品1", 1f, 3);
Product product2 = new Product("002", "商品2", 1f, 1);
Product product3 = new Product("003", "商品3", 1f, 5);
Product product4 = new Product("004", "商品4", 1f, 2);
productList.add(product1);
productList.add(product2);
productList.add(product3);
productList.add(product4);
double total = 0;
for (Product product : productList) {
product.printProduct();
total += product.getPrice() * product.getQuantity();
}
System.out.println("商品总价格:" + total);
}
}
答案如下
上面的两个类可以放在同一包下即可
java 中怎么向arraylist中添加数据呢? 如下代码
下面就是向ArrayList集合类里面添加数据的例子,,
list还可以点出remove(),clear(),get() 等方法。
你上百度问问题时尽量问简短一些比较好点,因为一般不会有人去给你一点一点去找,,
========-=======================================
package com.exam082;
import java.util.ArrayList;
import java.util.List;
public class ArrayList02 {
public static void main(String[] args) {
ArrayList02 ay2=new ArrayList02();//创建这个类实例
ay2.testList();
}
private void testList() {
ListInteger list=new ArrayListInteger ();//拿到ArrayList集合类对象
list.add(11);//隐含了放的时候是11然后自动装箱把11变为Integer的对象类型的11了。
list.add(23);
for (int j = 0; j list.size(); j++) {
//这样是可以的【list.get(j)是Integer对象类型的,这里自动拆箱为int类型的了】
int i = list.get(j);
System.out.println(i+100); //所以可以和100加了。
}
}
}
=============-========打印出下面的东西======================
111
123
JAVA题 求大神做一下 大二的
写了三个类
Goods.java
Supermarket.java
Test.java
package web;
public class Goods
{
/**
* 具有商品名称Name,
* 商品价格Price,
* 商品数量number等属性,
* 操作Sale(销售商品,余额不足时给予提示)、
* Add(商品上架操作)
* 和ShowMe(显示商品信息)。
*/
private String name;
private float price;
private int number;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public float getPrice()
{
return price;
}
public void setPrice(float price)
{
this.price = price;
}
public int getNumber()
{
return number;
}
public void setNumber(int number)
{
this.number = number;
}
}
package web;
import java.util.ArrayList;
import java.util.List;
/**
* 1、实现描述超市的的类Suppermacket类,
* 记录系统中现有商品(Goods类),
* 定义增加商品的函数Append,
* 删除商品的函数Delete,
* 查询商品的函数Query,
* 并显示查询结果;
* @author newuser
*
*/
public class Supermarket
{
private ListGoods goodsList = new ArrayListGoods();
/**
* 增加商品的
* @param goods
* @return
*/
public String append(Goods goods)
{
goodsList.add(goods);
return "添加成功";
}
/**
* 删除商品
*/
public String delete(String name)
{
String flag = "删除商品["+name+"]不存在 ";
if(name != null)
{
for (int i = 0; i goodsList.size(); i++)
{
Goods goods = goodsList.get(i);
if (goods.getName().equals(name))
{
goodsList.remove(i);
flag = "删除商品["+name+"]成功";
break;
}
}
}
return flag;
}
/**
* 销售
* @param goods
* @return
*/
public String sale(Goods goods)
{
String flag = "销售商品["+goods.getName()+"]失败";
if (goods!=null)
{
for (int i = 0; i goodsList.size(); i++)
{
Goods goods_2 = goodsList.get(i);
if (goods_2.getName().equals(goods.getName()))
{
if (goods.getNumber() goods_2.getNumber())
{
flag+=" 原因:库存不足";
}
else if ((goods_2.getPrice()*goods.getNumber()) goods.getPrice())
{
flag+=" 原因:余额不足";
}
else
{
goods_2.setNumber(goods_2.getNumber()-goods.getNumber());
flag = "销售商品["+goods.getName()+"]成功";
}
break;
}
}
}
return flag;
} /**
* 查询商品
* @return
*/
public ListGoods getGoodsList()
{
return goodsList;
}
public void setGoodsList(ListGoods goodsList)
{
this.goodsList = goodsList;
}
}
package web;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test
{
/**
* 1、实现描述超市的的类Suppermacket类, 记录系统中现有商品(Goods类), 定义增加商品的函数Append,
* 删除商品的函数Delete, 查询商品的函数Query, 并显示查询结果;
* 2、定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
* 3、编写包含main方法的测试类,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。
*/
public static void main(String[] args)
{
Supermarket market = new Supermarket();
String[] label =
{ "商品名称", "商品价格", "商品数量" };
int type = -1;
do
{
System.out.println("=================");
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("=================");
int i = 0;
do
{
try
{
type = Integer.parseInt(readString());
i = 0;
}
catch (Exception e)
{
i = 1;
System.err.println("输入有误");
}
}
while (i != 0);
switch (type)
{
case 1:
Goods goods = new Goods();
System.out.println("请输入商品名称");
goods.setName(readString());
do
{
try
{
System.out.println("请输入商品价格");
goods.setPrice(Integer.parseInt(readString()));
i = 0;
}
catch (Exception e)
{
i = 1;
System.err.println("输入有误");
}
}
while (i != 0);
do
{
try
{
System.out.println("请输入商品数量");
goods.setNumber(Integer.parseInt(readString()));
i = 0;
}
catch (Exception e)
{
i = 1;
System.err.println("输入有误");
}
}
while (i != 0);
System.out.println(market.append(goods));
break;
case 2:
System.out.println("请输入要删除商品多名称");
String name = readString();
System.out.println(market.delete(name));
break;
case 3:
System.out.println("商品名称\t商品价格\t商品数量");
for (int j = 0; j market.getGoodsList().size(); j++)
{
Goods g = market.getGoodsList().get(j);
System.out.println(g.getName() + "\t" + g.getPrice() + "\t"
+ g.getNumber());
}
break;
case 4:
Goods goods_sals = new Goods();
System.out.println("请输入销售商品名称");
goods_sals.setName(readString());
do
{
try
{
System.out.println("请输入销售商品价格");
goods_sals.setPrice(Integer.parseInt(readString()));
i = 0;
}
catch (Exception e)
{
i = 1;
System.err.println("输入有误");
}
}
while (i != 0);
do
{
try
{
System.out.println("请输入销售商品数量");
goods_sals.setNumber(Integer.parseInt(readString()));
i = 0;
}
catch (Exception e)
{
i = 1;
System.err.println("输入有误");
}
}
while (i != 0);
System.out.println(market.sale(goods_sals));
break;
default:
System.out.println("选择不正确");
break;
}
}
while (type != 0);
}
/**
*
* @param prompt
* @return
*/
private static String readString()
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try
{
str = br.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}
return str;
}
}
java购物车 添加相同商品时怎么自动累加
实现方法就是定义一个购物车的map,商品id作为key,商品价格作为value,每次添加购物车,判断如果是相同的key,那么就累加value的值。
import java.util.Map;
import java.util.HashMap;
public class MapText
{
private Object k ;
MapObject, Double map = new HashMapObject, Double();
private Double ks = 0.0;
public void testmap()
{
map.put("diyige", 10.0);
map.put("dierge", 100.0);
map.put("disange", 1000.0);
map.put("disige", 10000.0);
map.put("diwuge", 100000.0);// for (int i = map.size() - 1; i 0; i--)
// {
for (Map.EntryObject, Double entry : map.entrySet())
{
System.out.println(entry.getKey() + ""
+ entry.getValue()); ks = entry.getValue() + ks;
}
System.out.println(ks);
// } System.out.println(ks);
} /**
* @param args
*/
public static void main(String[] args)
{
MapText t = new MapText();
t.testmap(); }
}
用java写了个小程序生产者消费者,生产的时候缓冲池中的商品数就逐个增加,可是消费的时候缓冲池商品不变
当然啊 你现在的写法实现的只是往图片上画图。没有擦除不要的部分啊。比如第一次flag =5 你画的长度是5,当flag=1时,你是在flag =5 的图片上覆盖着画了一个1 由于原来的5还在,你看着就像没变。
解决很简单
public void goodsShow(){
static int last=0; //保存上一次的数目 注意如果有多个图需要用这个方法,就不能用静态变量了。
Graphics g1=panel[1].getGraphics();
panel[1].setBackground(Color.white);
System.out.println("商品数为:"+flag);
if(last=flag){ //当上次的数目小于等于这次的数目 就是说这次画的比上一次长
g1.setColor(Color.red);
for(int i=0;iflag;i++) {
g1.fillRect(40*i, 0, 35, 40);
}
}else{ //当上次的数目大于这次的数目 上一次画的比这一次多有部分需要擦掉
for(int i=0;ilast;i++){
if(i=flag){
g1.setColor(Color.red); //符合这次生产数目的画红色
}else{
g1.setColor(Color.white); //超过本次生产数目,但上次已经画过的部分重新画成背景色
}
g1.fillRect(40*i, 0, 35, 40);
}
}
last=flag;
}
关于java增加商品数量和java并发修改商品数目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。