「java增加商品数量」java并发修改商品数目

博主:adminadmin 2022-12-13 21:06:07 62

本篇文章给大家谈谈java增加商品数量,以及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并发修改商品数目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。