Java常用API:String、ArrayList


包是分门别类管理程序的。

一、String




String常用方法




String使用时的注意事项











二、String的应用案例

案例:系统正确的登录名和密码是:root/123456,请在控制台开发一个登录界面,接受用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序(注意:要求最多给用户三次登录机会)

步骤

1、开发登录界面,提示用户通过键盘输入登录名和密码
2、设计一个登录方法,对用户的登录名和密码进行正确性认证
3、根据登录方法返回认证结果,判断用户是否登录成功
4、使用循环控制登录界面最多显示三次

代码

import java.util.Random;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //循环三次
        for (int i = 0 ; i < 3 ; i++) {
            //1、登录界面
            System.out.println("登录界面");
            System.out.println("请输入用户登录名称");
            String userName = sc.next();
            System.out.println("请输入用户登录密码");
            String passWord = sc.next();

            //2、登录结果
            boolean rs = ok(userName,passWord);
            if(rs){
                System.out.println("成功进入系统");
                //结束循环
                break;
            }else{
                System.out.println("用户名或者密码错误,重新输入");
            }
        }

    }


    public static boolean ok(String userName , String passWord){
        String okUserName = "root";
        String okPassWord = "123456";

        return (okUserName.equals(userName) && okPassWord.equals(passWord));
    }
}

运行结果

代码如下(示例):

登录界面
请输入用户登录名称
ro
请输入用户登录密码
12
用户名或者密码错误,重新输入
登录界面
请输入用户登录名称
roq
请输入用户登录密码
1234
用户名或者密码错误,重新输入
登录界面
请输入用户登录名称
root
请输入用户登录密码
123456
成功进入系统

总结

三、使用String来开发验证码

需求:实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母

分析:
1、设计一个方法,该方法接收一个整形参数,最终要返回对应位数的随机验证码
2、方法内定义两个字符串变量:一个用来记住生成的验证码,一个用来记住要用到的全部字符
3、定义for循环控制生成多少位随机字符,每次得到一个字符范围内的随机索引,根据索引提取该字符,把该字符交给code变量连接起来,循环结束后,在循环外返回code即可

代码

import java.util.Random;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        System.out.println(creatCode(5));

    }



    //1、创建随机验证码
    public static String creatCode(int n){
        String code = "";
        String data = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

        Random r = new Random();

        for(int i = 0 ; i < n ; i++){
            //随机一个字符范围内的索引
            int index = r.nextInt(data.length());
            //根据索引去全部字符中提取该字符
            code += data.charAt(index);
        }
        //返回code
        return code;
    }
}

运行结果

oUzHn

四、ArrayList

集合:
一种容器,用来装数据的,类似于数组
集合大小可变,开发中用的更多


ArrayList快速入门







ArrayList应用案例




ArrayList综合案例

ArrayList综合案例-----模仿外卖系统中的商家系统

需求:完成菜品的上架、以及菜品信息浏览功能

分析
1、设计一个菜品类Food(实体类),负责创建菜品对象,封装菜品数据,包括name、price、desc(描述)
2、设计一个菜品操作类FoodOperator,负责完成对菜品的业务上架和浏览功能

Demo.java

import java.util.Random;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        FoodOperator foodOperator = new FoodOperator();

        Scanner sc = new Scanner(System.in);

        String command;
        while (true){
            foodOperator.start();
            command = sc.next();
            switch (command){
                case "1":
                    foodOperator.addFood();
                    break;
                case "2":
                    foodOperator.showFood();
                    //跳出switch循环
                    break;
                case "3":
                    System.out.println("退出系统");
                    return; // 结束方法
                default:
                    System.out.println("error");
            }
        }

    }
}

Food.java

// 菜品实体类
public class Food {
    //菜品名称
    private String name;
    //菜品价格
    private double price;
    //菜品描述
    private String desc;

    //构造器
    public Food(String name, double price, String desc) {
        this.name = name;
        this.price = price;
        this.desc = desc;
    }

    public Food() {
    }

    //get、set方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

FoodOperator.java

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

public class FoodOperator {
    //存入菜品对象
    private ArrayList<Food> foodList = new ArrayList<>();

    //菜品上架功能
    public void addFood(){
        //创建菜品对象
        Food food1 = new Food();
        Scanner sc = new Scanner(System.in);

        //录入菜品信息
        System.out.println("请录入菜品名称");
        String foodName = sc.next();
        food1.setName(foodName);

        System.out.println("请录入菜品价格");
        double foodPrice = sc.nextDouble();
        food1.setPrice(foodPrice);

        System.out.println("请录入菜品信息");
        String foodDesc = sc.next();
        food1.setDesc(foodDesc);

        //把菜品对象存入集合中
        foodList.add(food1);
        System.out.println("上架成功");
    }

    //菜品浏览功能
    public void showFood(){
        if(foodList.size() == 0){
            System.out.println("当前没有菜品信息");
            return;
        }
        for(int i = 0 ; i < foodList.size() ; i++){
            //获取集合中的对象
            Food f = foodList.get(i);
            System.out.println("菜品名称" + f.getName());
            System.out.println("菜品价格" + f.getPrice());
            System.out.println("菜品描述" + f.getDesc());
            System.out.println("=====================================");
        }
    }

    //界面
    public void start(){
        System.out.println("===============菜品系统===============");
        System.out.println("1、添加菜品信息");
        System.out.println("2、菜品信息浏览");
        System.out.println("3、退出系统");
        System.out.println("===============菜品系统===============");
    }
}

运行结果

===============菜品系统===============
1、添加菜品信息
2、菜品信息浏览
3、退出系统
===============菜品系统===============
5
error
===============菜品系统===============
1、添加菜品信息
2、菜品信息浏览
3、退出系统
===============菜品系统===============
1
请录入菜品名称
111
请录入菜品价格
11
请录入菜品信息
44444444
上架成功
===============菜品系统===============
1、添加菜品信息
2、菜品信息浏览
3、退出系统
===============菜品系统===============
2
菜品名称111
菜品价格11.0
菜品描述44444444
=====================================
===============菜品系统===============
1、添加菜品信息
2、菜品信息浏览
3、退出系统
===============菜品系统===============
3
退出系统

总结







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值