java集合框架编程题库

Java集合框架2

根据你上面的提示和程序里的要求,修改了Database,新增了衣服的方法。每次计算的价格可以写成共通方法。希望其他人有好的建议也发上来。

import java.util.HashMap;

import java.util.Map;

public class Database {

private MapInteger, McBean data = new HashMapInteger, McBean();

public Database(){

McBean bean = new McBean();

bean.setNid(1);

bean.setSname(“地瓜”);

bean.setNprice(2.0);

bean.setSdescription(“新鲜的地瓜”);

data.put(1, bean);

bean = new McBean();

bean.setNid(2);

bean.setSname(“土豆”);

bean.setNprice(1.2);

bean.setSdescription(“又好又大的土豆”);

data.put(2, bean);

bean = new McBean();

bean.setNid(3);

bean.setSname(“丝瓜”);

bean.setNprice(1.5);

bean.setSdescription(“本地丝瓜”);

data.put(3, bean);

bean = new McBean();

bean.setNid(4);

bean.setSname(“衣服”);

bean.setNprice(30);

bean.setSdescription(“衣服”);

data.put(4, bean);

}

public McBean getMcBean(int nid){

return data.get(nid);

}

}

public class McBean {

private Integer nid; //商品编号

private String sname; //名称

private double nprice; //价格

private String sdescription; //描述

public Integer getNid() {

return nid;

}

public void setNid(Integer nid) {

this.nid = nid;

}

public String getSname() {

return sname;

}

public void setSname(String sname) {

this.sname = sname;

}

public double getNprice() {

return nprice;

}

public void setNprice(double nprice) {

this.nprice = nprice;

}

public String getSdescription() {

return sdescription;

}

public void setSdescription(String sdescription) {

this.sdescription = sdescription;

}

}

public class OrderItemBean {

private McBean mcbean; //商品

private int count; //商品数量

public McBean getMcbean() {

return mcbean;

}

public void setMcbean(McBean mcbean) {

this.mcbean = mcbean;

}

public int getCount() {

return count;

}

public void setCount(int count) {

this.count = count;

}

}

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class ShoppingCar {

private double totalPrice; //购物车所有商品总价格

private int totalCount; //购物车所有商品数量

private MapInteger,OrderItemBean itemMap; //商品编号与订单项的键值对

public ShoppingCar(){

//初始化购物车

itemMap = new HashMapInteger, OrderItemBean();

Database db = new Database();

McBean bean = new McBean();

OrderItemBean orderItem1 = new OrderItemBean();

OrderItemBean orderItem2 = new OrderItemBean();

OrderItemBean orderItem3 = new OrderItemBean();

bean = db.getMcBean(1);

orderItem1.setMcbean(bean);

orderItem1.setCount(2);

bean = db.getMcBean(2);

orderItem2.setMcbean(bean);

orderItem2.setCount(5);

bean = db.getMcBean(4);

orderItem3.setMcbean(bean);

orderItem3.setCount(3);

itemMap.put(1, orderItem1);

itemMap.put(2, orderItem2);

itemMap.put(4, orderItem3);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void buy(int nid){

//如果该商品是第一次购买,商品的信息从数据库获取,数据库的模拟代

//码见附录。itemMap增加一对键值对。

//如果不是第一次购买,则通过商品编号找到对应的定单项,然后更新定

//单项的商品数量。

//不管是否第一次购买,都得更新购物车的总价格和总数量。

Database db = new Database();

McBean mcBean = new McBean();

OrderItemBean orderItem = new OrderItemBean();

if(itemMap.get(nid) == null) {

mcBean = db.getMcBean(nid);

orderItem.setMcbean(mcBean);

orderItem.setCount(1);

itemMap.put(nid, orderItem);

} else {

orderItem = itemMap.get(nid);

orderItem.setCount(orderItem.getCount() + 1);

}

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void delete(int nid){

//通过商品编号删除的对应的定单项,然后从更新购物车的总价格和总数量。

itemMap.remove(nid);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void update(int nid, int count){

///通过商品编号找到对应的对应的定单项,修改商品数量。然后从更新购物车的总价格和总数量。

OrderItemBean orderItem = new OrderItemBean();

orderItem = itemMap.get(nid);

orderItem.setCount(count);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void clear(){

//清空定单项,购物车的总价格和总数量清零。

itemMap.clear();

totalCount = 0;

totalPrice = 0;

}

public void show(){

//显示购物车的商品,格式如下:

//商品编号 商品名称 单价 购买数量 总价

//1 地瓜 2.0 2 4.0

//2 衣服 30 5 150

//…

//合计:总数量:5 总价格:20元

System.out.println(“商品编号” + ” ” + “商品名称” + ” ” + “单价” + ” ” + “购买数量” + ” ” + “总价” );

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

int nid = entry1.getKey();

String name = entry1.getValue().getMcbean().getSname();

double price = entry1.getValue().getMcbean().getNprice();

int count = entry1.getValue().getCount();

double totalprice = price * count;

System.out.println(nid + ” “+ name + ” ” + price + ” ” + count + ” ” + totalprice);

}

System.out.println(“合计:总数量:” + totalCount + ” 总价格:” + totalPrice+ “元”);

}

public static void main(String[] args) {

ShoppingCar shoppingCar = new ShoppingCar();

shoppingCar.show();

System.out.println(“——————————–“);

shoppingCar.buy(3);

shoppingCar.show();

System.out.println(“——————————–“);

shoppingCar.update(4, 2);

shoppingCar.show();

System.out.println(“——————————–“);

shoppingCar.delete(2);

shoppingCar.show();

System.out.println(“——————————–“);

shoppingCar.clear();

shoppingCar.show();

}

}

运行结果:

商品编号 商品名称 单价 购买数量 总价

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

4 衣服 30.0 3 90.0

合计:总数量:3 总价格:100.0元

——————————–

商品编号 商品名称 单价 购买数量 总价

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

3 丝瓜 1.5 1 1.5

4 衣服 30.0 3 90.0

合计:总数量:4 总价格:101.5元

——————————–

商品编号 商品名称 单价 购买数量 总价

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

3 丝瓜 1.5 1 1.5

4 衣服 30.0 2 60.0

合计:总数量:4 总价格:71.5元

——————————–

商品编号 商品名称 单价 购买数量 总价

1 地瓜 2.0 2 4.0

3 丝瓜 1.5 1 1.5

4 衣服 30.0 2 60.0

合计:总数量:3 总价格:65.5元

——————————–

商品编号 商品名称 单价 购买数量 总价

合计:总数量:0 总价格:0.0元

java集合框架编程题库

JAVA集合框架 试题?

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class baidu {

public baidu() {

}

public MapString, String splitMail(ListString mails) {

String userName;

String mailUrl;

MapString, String hp = new HashMapString, String();

for (String mail : mails) {

int first = mail.indexOf(“@”);

userName = mail.substring(0, first);

mailUrl = mail.substring(first, mail.length());

System.out.println(” 分离后的用户名:” + userName + “\n” + “分离后的邮箱地址:”

+ mailUrl);

hp.put(userName, mailUrl);

}

return hp;

}

public static void main(String[] args) {

ListString mails = new ArrayListString();

mails.add(“aa@sina.com”);

mails.add(“bb@163.com”);

mails.add(“cc@sohu.com”);

MapString, String map = new baidu().splitMail(mails);//这个map就是你要的map了

}

}

—————————————

2.

import java.util.ArrayList;

import java.util.List;

public class baidu {

public baidu() {

}

public static void main(String[] args) {

Listbaidu list = new ArrayListbaidu();

for (int i = 0; i 10; i++) {

list.add(new baidu());

}

//list就是你要的了

}

}

祝,好运!

java集合框架考试题!!!急,帮忙解答!!

A   理由:ArrayList 是队列 Collection是接口不是对象   HashMap 是图的数据结构

B    理由: 其他都是接口

A  B  C  D  理由:都是接口

java集合框架问题!!!

往Map里put时候错了,要求是put(班级名,班级的List),也就是

map.put(“三年级一班”, studentList);

然后读取你输入的内容,查找map,其实就是get

ListString list = map.get(“三年级一班”);

最后,把找到的list内容用循环打印出来就可以了。

另外,创建HashMap的时候应该指定泛型。

关于java集合框架!

新建2个类。一个学生信息类。一个业务测试类。再业务测试类类里面写一个集合ArrayList,然后往里面添加实例化学生信息类的对象,在进行你的业务需要的编写。

java_集合框架1

二百分都不给你写~ 这是一堆不是一个问题。虽然很基础,但浪费时间。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 07:51:24
下一篇 2024年3月27日 07:59:35

相关推荐

  • 深入java虚拟机pdf,深入java虚拟机 中村成洋 pdf

    在linux环境下,java怎么实现从word格式转换为pdf格式 //设置当前使用的打印机,我的Adobe Distiller打印机名字为 Adobe PDF wordCom.setProperty( ActivePrinter , new Variant( Adobe PDF ));//设置printout的参数,将word文档打印为postscript…

    2024年5月23日
    4300
  • java截取指定长度字符串,java截取指定字符串之后的

    java中如何截取字符串中的指定一部分 第一个参数是开始截取的字符位置。(从0开始)第二个参数是结束字符的位置+1。(从0开始)indexof函数的作用是查找该字符串中的某个字的位置,并且返回。 int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;split讲解:java.lang.string.split split 方法 将…

    2024年5月23日
    4100
  • java绑定一个端口,java使用端口

    java如何多个service共用一个端口 你如果有多个项目的话,你可以把多个项目放到一个tomcat里面,这样端口相同使用项目名称来进行区分项目。你如果非要使用同一个,你也可以配置不同的域名导向不同的项目。就是访问的域名不同转接到的项目不同。 如果需要同时启动多个程序,要么修改tomcat的配置文件中的监听端口。要么修改jar包程序的监听端口。不能在一台服…

    2024年5月23日
    3400
  • java多线程并发编程基础,Java多线程并发执行返回

    电脑培训分享Java并发编程:核心理论 电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。 人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接…

    2024年5月23日
    4600
  • 自学java找工作,自学java找工作需要包装简历吗

    自学java学多久可以找到工作 1、自学Java至少需要一年以上的时间才能达到找工作的水平。报班培训四到六个月的时间就可以找到一份不错的工作。 2、自学Java至少需要一年以上的时间才能达到找工作的水平。 3、如果要想找到一份Java相关的工作,需要至少学习5-6个月时间才能就业。Java开发需要掌握一些基础的编程语言知识,比如掌握面向对象的编程思想、基本的…

    2024年5月23日
    4200
  • java左移右移,java 左移

    java位移问题 1、思路:直接用Integer类的bit运算操作。 2、移位操作:左移:向左移位,符号后面的数字是移了多少位,移的位用0补齐,例如2进制数01111111左移一位后变为11111110,移位是字节操作。 3、Java 位运算 Java 位运算[转]一,Java 位运算表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的…

    2024年5月23日
    4100
  • java技术规范,java规范性要求

    现在主流的JAVA技术是什么? java最流行开发技术程序员必看 1 、Git Git一直是世界上最受欢迎的Java工具之一,也是Java开发人员最杰出的工具之一。Git是一个开源工具,是-种出色的分布式版本控制解决方案。 (1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。(2).Java面向对象编…

    2024年5月23日
    3900
  • javasocket编程,Java socket编程中,禁用nagle算法的参数

    Java进行并发多连接socket编程 1、Java可利用ServerSocket类对外部客户端提供多个socket接口。基本的做法是先创建一个ServerSocket实例,并绑定一个指定的端口,然后在这个实例上调用accept()方法等待客户端的连接请求。 2、Socket socket=server.accept(0;Thread handleThrea…

    2024年5月23日
    4500
  • java死亡,java死代码是什么意思

    我的世界传送回死亡点指令是什么? 1、下面就让我们一起来了解一下吧:我的世界回到死的地方的指令是输入/back,就可以回到死亡地点了,当然也可以看信标,因为死亡后会有一道光集中在死亡点,只要循着光就可以找到目的地了。 2、在服务器中的指令 首先打开指令台,在指令行输入“/back”就可以回到自己的死亡地点了。在单人游戏中的指令 在单人游戏中,您无法直接返回到…

    2024年5月23日
    4700
  • myeclipse能部署java工程么,myeclipse支持jdk18

    myeclipse如何建java文件 1、点击【File】—【New】–【Class】在如下界面,输入Class的名字,如Test,点击【Finish】。Test.java文件创建成功。 2、点击【File】—【New】–【Class】 在如下界面,输入Class的名字,如Test,点击【Finish】。 Te…

    2024年5月23日
    3900

发表回复

登录后才能评论



关注微信