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("品牌型号\t\t尺寸\t价格\t库存数");
        //MacBookAir品牌
        Stores s1=new Stores();
        s1.sname="MacBookAir";
        s1.ssize=13.3;
        s1.smoney=6988.88;
        s1.sinventory=5;
        System.out.println(s1.sname+"\t"+s1.ssize+"\t"+s1.smoney+"\t"+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+"\t"+s2.ssize+"\t"+s2.smoney+"\t"+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+"\t"+s3.ssize+"\t"+s3.smoney+"\t"+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+"\t\t"+list.get(i).ssize+"\t"+list.get(i).smoney+"\t"+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("删除商品成功!");
        }
        
    }
}

运行结果:

最新文章

  1. Cracking-- 17.13 将二叉树转换成双向链表
  2. MySQL 服务器的加快运行速度有哪些方法?
  3. cookie防篡改
  4. python学习笔记:python序列
  5. IIS7中配置脚本错误解决方案
  6. 安装dotnet core
  7. PHP格式化字符串函数 sprintf()
  8. Android 中log 找到关键log
  9. 如何用plugman编辑和添加cordova插件
  10. gitbook 入门教程之导出电子书
  11. Scrapy网络爬虫框架的开发使用
  12. 添加按钮 table增加一行 删减按钮 table去掉一行
  13. Eddy&#39;s mistakes HDU
  14. Tomcat基本组件、其功能和处理请求的过程
  15. JDK 5.0 注解的使用
  16. Java输出文件到本地(输出流)
  17. Android -- uses-sdk:minSdkVersion 10 cannot be smaller than version L declared in library com.android.support:appcompat-v7:21.0.0-rc1
  18. VMware 11 安装 Mac OS X10.10
  19. ipad2 wifi ios7.x 1.0.1还是无法越狱
  20. Uva 1600 Patrol Robot (BFS 最短路)

热门文章

  1. Jetson TX1 install py-faster-rcnn
  2. Vasya and a Tree CodeForces - 1076E(线段树+dfs)
  3. Spring注解与Java元注解小结
  4. Codeforces Round #424 Div. 1
  5. 洛谷P2670扫雷游戏题解
  6. 安卓Android基础—第二天
  7. 关于工具类中@Autowired注入为NULL的问题记录
  8. bzoj 2588 : Spoj 10628. Count on a tree
  9. 允许外网访问MySQL
  10. PhoneGap &amp; Cordova 安装白皮书