zoukankan      html  css  js  c++  java
  • Java案例整理

    1.随机点名器案例

    1.1      案例介绍

    随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息。

    此案例在我们昨天课程学习中,已经介绍,现在我们要做的是对原有的案例进行升级,使用新的技术来实现。

    我们来完成随机点名器,它具备以下3个内容:

    l  存储所有同学姓名

    l  总览全班同学姓名

    l  随机点名其中一人,打印到控制台

    1.2      案例需求分析

    全班同学中随机的找出一名同学,打印这名同学的个人信息。

    我们对本案例进行分析,得出如下分析结果:

    1.存储全班同学信息(姓名、年龄)

    2.打印全班同学每一个人的信息(姓名、年龄)

    3.在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学信息(姓名、年龄)

    随机点名器明确地分为了三个功能。如果将多个独立功能的代码写到一起,则代码相对冗长,我们可以针对不同的功能可以将其封装到一个方法中,将完整独立的功能分离出来。

    而在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时,我们采用ArrayList集合来解决多个学生信息的存储问题。

    package com.oracle.linkedlist;

     

    public class Student {

       

            String name;

            int age;

     

    }

    package com.oracle.linkedlist;

    import java.util.Scanner;

    import java.util.Random;

    class Test04 {

        public static void main(String[] args) {

     

            String[] arr=new String[5];

           

            //  存储所有同学姓名

            StudentName(arr);

     

            //  总览全班同学姓名

            StudentCname(arr);

            //  存储所有同学姓名

            StudentSname(arr);

          

     

     

            }

               

            //  存储所有同学姓名

     

                    public static void StudentName(String[] arr){

                   

                   

                        Scanner sc=new Scanner(System.in);

                        for (int i=0;i<arr.length;i++) {

                            System.out.println("第"+(i+1)+"同学姓名");

                            arr[i]=sc.next();

                           

                   

                        }

                    }

     

     

                    //  总览全班同学姓名

                    public static void StudentCname(String[] arr){

     

                       

                        for(int i=0;i<arr.length;i++){

                       

     

                           

     

                            System.out.println("第"+(i+1)+"个同学:"+arr[i]);

                        }

                   

                   

                   

                    }

     

                    //  存储所有同学姓名

                    public static void StudentSname(String[]arr){

                   

                    int a = new Random().nextInt(arr.length);

     

                     System.out.println("被点到名的同学是:" +arr[a]);

     

                    }

     

     

     

     

        }

     

    运行结果:

     

    2.库存管理案例

    2.1      案例介绍

    现在,我们将原有的库存管理案例,采用更好的集合方式实现。

     

    将对下列功能进行方法封装:

    l  打印库存清单功能

    l  库存商品数量修改功能

    l  退出程序功能

    2.2  案例需求分析

    管理员能够进行的操作有3项(查看、修改、退出),我们可以采用(switch)菜单的方式来完成。

    -------------库存管理------------

    1.查看库存清单

    2.修改商品库存数量

    3.退出

    请输入要执行的操作序号:

            每一项功能操作,我们采用方法进行封装,这样,可使程序的可读性增强。

    选择“1.查看库存清单”功能,则控制台打印库存清单

    选择“2.修改商品库存数量”功能,则对每种商品库存数进行更新

    选择“3.退出”功能,则退出库存管理,程序结束

    package com.oracle.demo03;

    public class Stores {
        
        String sname;
        double ssize;
        double smoney;
        int sinventory;
        
    }

    package com.oracle.demo03;

    import java.util.ArrayList;
    import java.util.Scanner;

    public class store {

        public static void main(String[] args) {
            
            ArrayList<Stores> list=new ArrayList();
            Scanner sc=new Scanner(System.in);
            while(true){
            
                MainMenu();
                
                int num=sc.nextInt();
                switch(num){
                
                case 1:QueryStore(list);
                    break;
                    
                case 2:updateStore(list);
                    break;
                    
                case 3:addStore(list);
                    break;
                    
                case 4:delectStore(list);
                    break;
                    
                case 5:
                    return;
                    
                default:
                    break;
                }
            
            }

        }

            
        //主菜单
        public static void MainMenu(){
            
            System.out.println("----------库存管理-----------");
            System.out.println("1.查看库存清单");
            System.out.println("2.修改商品库存数量");
            System.out.println("3.添加商品");
            System.out.println("4.删除商品");
            System.out.println("5.退出");
            System.out.println("请输入您要执行的编号:");
        }
        
        //查看库存清单
        public static void QueryStore(ArrayList<Stores> list){
            
            System.out.println("---------商城库存清单----------");
            System.out.println("品牌型号 尺寸 价格 库存数");
            //MacBookAir品牌
            Stores s1=new Stores();
            s1.sname="MacBookAir";
            s1.ssize=13.3;
            s1.smoney=6988.88;
            s1.sinventory=5;
            System.out.println(s1.sname+" "+s1.ssize+" "+s1.smoney+" "+s1.sinventory);
            
            //ThinkpadT450品牌
            Stores s2=new Stores();
            s2.sname="ThinkpadT450";
            s2.ssize=14.0;
            s2.smoney=5999.99;
            s2.sinventory=10;
            System.out.println(s2.sname+" "+s2.ssize+" "+s2.smoney+" "+s2.sinventory);
            
            //ASUS-FL5800品牌
            Stores s3=new Stores();
            s3.sname="ASUS-FL5800";
            s3.ssize=15.6;
            s3.smoney=4999.5;
            s3.sinventory=18;
            System.out.println(s3.sname+" "+s3.ssize+" "+s3.smoney+" "+s3.sinventory);
                
            //总库存数
            int sum=s1.sinventory+s2.sinventory+s3.sinventory;
            //库存商品总金额
            double SUM=s1.smoney*5+s2.smoney*10+s3.smoney*18;
            
            
            
            for(int i=0;i<list.size();i++){
                
                System.out.println(list.get(i).sname+" "+list.get(i).ssize+" "+list.get(i).smoney+" "+list.get(i).sinventory);
                
            }
            System.out.println("---------------------------");
            System.out.println("总库存数:"+sum);
            System.out.println("库存商品总金额:"+SUM);
            
            
            
        }
        //修改商品数量
        public static void updateStore(ArrayList<Stores> list){
            
            QueryStore(list);
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入要修改的品牌数量:");
            int inventory=sc.nextInt();
            Stores stores=new Stores();
            stores.sinventory=inventory;
            for(int i=0;i<list.size();i++){
                
                if(inventory==list.get(i).sinventory){
                    list.set(i, stores);
                }
                
            }
            
            
            
            
        }
        //添加清单
        public static void addStore(ArrayList<Stores> list){
            
            Scanner sc=new Scanner(System.in);
            Stores stores=new Stores();
            System.out.println("请输入新增加的品牌型号:");
            String name=sc.next();
            System.out.println("请输入新增加的品牌尺寸:");
            double size=sc.nextDouble();
            System.out.println("请输入新增加的品牌价格:");
            double money=sc.nextDouble();
            System.out.println("请输入新增加的品牌库存数:");
            int inventory=sc.nextInt();
            stores.sname=name;
            stores.ssize=size;
            stores.smoney=money;
            stores.sinventory=inventory;
            list.add(stores);
            System.out.println("添加商品成功!");
            
            
        }
        
        
        //删除清单
        public static void delectStore(ArrayList<Stores> list){
            
            QueryStore(list);
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入您要删除的品牌名称:");
            String num=sc.next();
            for(int i=0;i<list.size();i++){
                
                if(num==list.get(i).sname){
                    
                    list.remove(i);
                }
                System.out.println("删除商品成功!");
            }
            
        }
    }



    运行结果:

  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10436379.html
Copyright © 2011-2022 走看看