zoukankan      html  css  js  c++  java
  • ArrayList 练习题

    1点名器 

    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    class CallName3 
    {
    	public static void main(String[] args) 
    	{
    		ArrayList<String> list=new ArrayList<String>();		
    		
    		while(true){
    			System.out.println("1.存储同学名字");
    			System.out.println("2.查看全班同学");
    			System.out.println("3.点名");
    			System.out.println("4.退出");
    			System.out.println("请输入您选择的编号:");
    
    			Scanner sc=new Scanner(System.in);
    			int choose=sc.nextInt();			
    
    			switch(choose){
    				case 1:
    					saveAll(list);
    					break;
    				case 2:
    					showAll(list);
    					break;
    				case 3:
    					callOne(list);
    					break;
    				case 4:
    					System.out.println("您已退出");
    					return;
    			}
    		}
    	}
    
    	//存储
    	public static void saveAll(ArrayList<String> list){
    		System.out.println();
    		System.out.println("请输入您要录入的同学数量:");
    
    		//还可以这样:
    		//System.out.println("您还要继续添加吗?");
    		//System.out.println("1.继续 2.取消");
    
    		Scanner sc=new Scanner(System.in);
    		int num=sc.nextInt();
    
    		for(int i=0;i<num;i++){
    			System.out.println("请输入第"+(i+1)+"位同学的姓名:");			
    			list.add(sc.next());
    		}
    		System.out.println(num+"名同学已录入成功!");
    		System.out.println();
    	};
    
    	//总览
    	public static void showAll(ArrayList<String> list){
    		System.out.println();
    		System.out.println("全班同学为:");
    
    		for(int i=0;i<list.size();i++){
    			System.out.print(list.get(i)+" ");
    		};
    		System.out.println();
    		System.out.println();
    	};
    
    	//随机点名
    	public static void callOne(ArrayList<String> list){
    		System.out.println();
    		System.out.println("点到的同学为:");
    
    		Random r=new Random();
    		int i=r.nextInt(list.size());
    
    		System.out.println(list.get(i));
    		System.out.println();
    	}
    }

    2库存管理 

    class Pro 
    {
    	String proName; //商品名
    	double proSize; //商品尺寸
    	double proPrice; //商品价格
    	int proNum; //库存
    }
    import java.util.Scanner;
    import java.util.ArrayList;
    class Stock2 
    {
    	public static void main(String[] args) 
    	{
    		//创建Pro对象并初始化数据
    		Pro mac=new Pro();
    		mac.proName="MacBookAir";
    		mac.proSize=13.3;
    		mac.proPrice=6988.88;
    		mac.proNum=5;
    
    		Pro think=new Pro();
    		think.proName="ThinkpadT450";
    		think.proSize=14.0;
    		think.proPrice=5999.99;
    		think.proNum=10;
    
    		Pro as=new Pro();
    		as.proName="ASUS-FL5800";
    		as.proSize=15.6;
    		as.proPrice=4999.5;
    		as.proNum=18;
    
    		ArrayList<Pro> prolist=new ArrayList<Pro>(); //创建集合
    
    		//把对象加入集合
    		prolist.add(mac);
    		prolist.add(think);
    		prolist.add(as);
    
    		//功能选择
    		while(true){
    			System.out.println("----------库存管理----------");
    			System.out.println("1.查看库存清单");
    			System.out.println("2.修改商品库存数量");
    			System.out.println("3.退出");			
    			System.out.println("请输入要执行的操作序号:");
    
    			Scanner sc=new Scanner(System.in);
    			int select=sc.nextInt();
    
    			if(select==1){
    				showList(prolist); 
    			}
    			if(select==2){				
    				modifyNum(prolist);			
    			}
    			if(select==3){			
    				signOut();
    				break;
    			}
    		}
    	}
    	
    	//查看库存清单
    	public static void showList(ArrayList<Pro> prolist){
    		System.out.println();
    		System.out.println("--------------------商城库存清单----------------------------");
    		System.out.println("编号	品牌型号	尺寸	价格		库存数");
    		
    		//打印商品
    		for(int i=0;i<prolist.size();i++){
    			System.out.println(" "+(i+1)+"	"+prolist.get(i).proName+"	"+prolist.get(i).proSize+"	"+prolist.get(i).proPrice+"		"+prolist.get(i).proNum);
    		}
    
    		System.out.println("------------------------------------------------------------");
    		
    		int sumNum=0; //总库存
    		for(int i=0;i<prolist.size();i++){
    			sumNum+=prolist.get(i).proNum;
    		}
    		System.out.println("总库存数:"+sumNum);
    
    		double sumMoney=0; //总金额
    		for(int i=0;i<prolist.size();i++){
    			sumMoney+=prolist.get(i).proPrice*prolist.get(i).proNum;
    		}
    		System.out.println("库存商品总金额:"+sumMoney);
    
    		System.out.println();
    		System.out.println();		
    	}
    
    	//修改库存
    	public static void modifyNum(ArrayList<Pro> prolist){
    		System.out.println();
    		Scanner sc=new Scanner(System.in);
    
    		while(true){
    			System.out.println("请输入您要修改的商品编号");	
    			int proId=sc.nextInt();
    			
    			if(proId>0&&proId<=prolist.size()){ //必须输入正确的编号范围
    				System.out.println("请输入您要修改的库存数量");
    				int afterNum=sc.nextInt();		
    
    				prolist.get(proId-1).proNum=afterNum;	
    				System.out.println();
    
    				break;
    			}			
    		}		
    	}
    
    	//退出
    	public static void signOut(){
    		System.out.println("您已退出");		
    	}
    }
    

    超市商品管理

    public class Pro {
    	String num;  //商品编号
    	String name; //商品名称
    	double price; //商品单价
    }
    package com.oracle.demo01;
    
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Stock{
    	public static void main(String[] args) {
    		//建商品对象
    		Pro p1=new Pro();
    		p1.num="9001";
    		p1.name="少林寺酥饼核桃";				
    		p1.price=120.0;
    		
    		Pro p2=new Pro();
    		p2.num="9002";
    		p2.name="尚康杂粮牡丹饼";				
    		p2.price=20.0;	
    		
    		Pro p3=new Pro();
    		p3.num="9003";
    		p3.name="新疆原产哈蜜瓜";				
    		p3.price=7.0;	
    		
    		//商品对象加入集合
    		ArrayList<Pro> prolist=new ArrayList<Pro>();
    		prolist.add(p1);
    		prolist.add(p2);
    		prolist.add(p3);		
    		
    		//菜单
    		while(true){
    			System.out.println("==========欢迎光临 oracle 超市==========");
    			System.out.println("1:货物清单 2:添加新货物 3:删除货物 4:修改货物");
    			System.out.println("5:退出系统");
    			System.out.println("请您输入要操作的功能序号:");
    			
    			Scanner sc=new Scanner(System.in);
    			int choose=sc.nextInt();
    			switch(choose){
    				case 1:	
    					showList(prolist);
    					break;
    				case 2:	
    					addPro(prolist);
    					break;
    				case 3:	
    					delPro(prolist);
    					break;
    				case 4:	
    					editPro(prolist);
    					break;
    				case 5:	
    					System.out.println("您已退出系统");					
    					return;				
    			}			
    		}
    	}
    	
    	//显示商品
    	public static void showList(ArrayList<Pro> prolist){
    		System.out.println();
    		System.out.println("==========商品库存清单==========");
    		System.out.println("商品编号	商品名称	商品单价");
    		
    		for(int i=0;i<prolist.size();i++){
    			System.out.println(prolist.get(i).num+"	"+prolist.get(i).name+"	"+prolist.get(i).price+"	");
    		}
    		System.out.println();
    	}
    	
    	//添加商品
    	public static void addPro(ArrayList<Pro> prolist){
    		System.out.println();
    		
    		Pro newPro=new Pro();		
    		
    		Scanner sc=new Scanner(System.in);
    		
    		System.out.println("请输入新水果的名称:");		
    		newPro.name=sc.next(); //最好还是定义个变量
    		
    		System.out.println("请输入新水果的编号:");
    		newPro.num=sc.next();
    		
    		System.out.println("请输入新水果的单价:");
    		newPro.price=sc.nextDouble();
    		
    		prolist.add(newPro);		
    		
    		System.out.println("新商品已添加成功!");
    		System.out.println();		
    	}
    	
    	//删除商品
    	public static void delPro(ArrayList<Pro> prolist){
    		System.out.println();
    		
    		//showList(prolist); //删除之前先展示一下商品,体验更好
    		System.out.println("请输入您要删除的水果编号");
    		Scanner sc=new Scanner(System.in);
    		String dnum=sc.next();
    		
    		for(int i=0;i<prolist.size();i++){
    			if(prolist.get(i).num.equals(dnum)){ //直接==是地址相等,因为是String是引用数据类型。如果判断不相等,可以前面加个!取反
    				prolist.remove(i);				
    			}
    		}
    		System.out.println("水果信息删除完毕!");		
    		System.out.println();
    	}
    	
    	//修改商品
    	public static void editPro(ArrayList<Pro> prolist){
    		System.out.println();
    		System.out.println("请输入您要修改信息的水果编号:");
    		Scanner sc=new Scanner(System.in);
    		String dnum=sc.next();		
    		
    		//用set来修改
    		System.out.println("请输入新的水果编号:");
    		String nnum=sc.next();	
    		
    		System.out.println("请输入新的水果名称:");
    		String nname=sc.next();
    		
    		System.out.println("请输入新的水果单价:");
    		Double nprice=sc.nextDouble();
    		
    		Pro newPro=new Pro();
    		newPro.num=nnum;
    		newPro.name=nname;
    		newPro.price=nprice;
    		
    		for(int i=0;i<prolist.size();i++){
    			if(prolist.get(i).num.equals(dnum)){
    				prolist.set(i,newPro); //用新对象替代		
    			}
    		}		
    		
    		System.out.println("水果信息更新完毕!");	
    		System.out.println();
    	}	
    	
    }
    

    4.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。

      A:遍历集合遍历输出。

      B:求出年龄最大的学生,让后将该对象的姓名变为:葫芦娃。 

    //学生类
    class Student 
    {
    	String sname;  //姓名
    	int sage;  //年龄
    	String ssex;  //性别	
    }
    import java.util.ArrayList;
    class StudentTest 
    {
    	public static void main(String[] args) 
    	{
    		//创建三个学生对象
    		Student s1=new Student();
    		s1.sname="张春";
    		s1.sage=18;
    		s1.ssex="男";
    
    		Student s2=new Student();
    		s2.sname="王夏";
    		s2.sage=19;
    		s2.ssex="女";
    
    		Student s3=new Student();
    		s3.sname="李秋";
    		s3.sage=20;
    		s3.ssex="男";
    
    		//学生对象存入ArrayList集合中
    		ArrayList<Student> sList=new ArrayList<Student>();
    		sList.add(s1);
    		sList.add(s2);
    		sList.add(s3);
    
    		//遍历集合
    		System.out.println("姓名	年龄	性别");
    		for(int i=0;i<sList.size();i++){			
    			System.out.print(sList.get(i).sname+"	"+sList.get(i).sage+"	"+sList.get(i).ssex);
    			System.out.println();
    		}
    
    		//求出年龄最大的学生
    		int maxAge=sList.get(0).sage; //默认第一个同学最大
    
    		for(int i=1;i<sList.size();i++){			
    			if(sList.get(i).sage>maxAge){ 				
    				maxAge=sList.get(i).sage; 
    			}			
    		}
    
    		//最大年龄的改名
    		for(int i=0;i<sList.size();i++){
    			if(sList.get(i).sage==maxAge){
    				sList.get(i).sname="葫芦娃";
    			}
    		}		
    
    		//遍历修改后集合
    		System.out.println();
    		System.out.println("修改后的同学们:");
    		System.out.println("姓名	年龄	性别");
    		for(int i=0;i<sList.size();i++){			
    			System.out.print(sList.get(i).sname+"	"+sList.get(i).sage+"	"+sList.get(i).ssex);
    			System.out.println();
    		}
    
    	}
    }
    

     

  • 相关阅读:
    MySQL数据库常见面试题
    抽象类与接口
    HashMap与Hashtable的区别
    IDEA破解
    重写equals方法
    MFC编程入门之十七(对话框:文件对话框)
    MFC编程入门之十六(对话框:消息对话框)
    MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)
    MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
    MFC编程入门之十二(对话框:非模态对话框的创建及显示)
  • 原文地址:https://www.cnblogs.com/hzhjxx/p/10031273.html
Copyright © 2011-2022 走看看