Java练习2-计算子字符出现次数、注册功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、题目1

1.题目

2.解决

2.1 思路

2.2 代码

 2.3 结果

二、题目2

1.题目

2.解决

2.1 思路

2.2 代码

  2.3 结果


 

前言

提示:这里可以添加本文要记录的大概内容:

12月26日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目1-计算子字符出现次数

1.题目

计算字符串中子字符出现的次数:让用户分别输入字符串和子字符串,输出子字符串出现的次数
字符串:中国首都是北京,北京很大
子字符串:北京

2.解决

2.1 思路

1.使用indexOf函数返回子字符串在字符串中的下标,

2.使用while循环进行查找,

2.2 代码

代码如下(示例):

import java.util.Scanner;

/*计算字符串中子字符出现的次数:让用户分别输入字符串和子字符串,输出子字符串出现的次数
* 字符串:中国首都是北京,北京很大
* 子字符串:北京*/
public class Test01 {
    public static void main(String[] args) {
        int count = 0;//计数器
        int start = 0;//开始位置

        //输入
        Scanner input = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str1 = input.nextLine();
        System.out.println("请输入子字符串:");
        String str2 = input.nextLine();

        //使用indexOf函数进行查找
        while(str1.indexOf(str2,start) >= 0 && start < str1.length()){
            count ++;
            int num = str1.indexOf(str2,start);
            //中国首都是北京,北京很大,当找到北京两字时,start返回的是北京前面的“是”位置的下标,
            //这时候就只要在“是”位置下标加上之后继续遍历即可
            start = num + str2.length();
        }
        System.out.println(str2+"在"+str1+"内出现的次数为:"+count);
    }
}

 2.3 结果

055e8b73e03a4b539ca8e5be9b590f1b.png

 

二、题目2-注册功能

1.题目

完成Java工程师注册的功能,其具体需求如下:
1.用户名长度不能小于6;
2.密码长度不能小于8;
3.两次输入密码必须一致

2.解决

2.1 思路

1.使用do,while语句,先允许用户输入,在判断是否符合条件

2.使用方法对输入的用户名,第一次输入密码,第二次输入密码进行判断,判断其是否符合条件,符合条件则退出循环,不符合条件则继续输入

 

2.2 代码

代码如下(示例):

import java.util.Scanner;

/*完成Java工程师注册的功能,其具体需求如下:
1.用户名长度不能小于6;
2.密码长度不能小于8;
3.两次输入密码必须一致
* */
public class Main {
    public static boolean pre(String name,String pwd1,String pwd2){
        boolean flag = false;
        if(name.length() < 6 || pwd1.length() < 8){
            System.out.println("输入错误,用户名长度不能小于6,密码长度不能小于8!");
        }
        else if(!pwd1.equals(pwd2)){
            System.out.println("输入错误,两次输入密码不相同,请重新输入");
        }
        else {
            System.out.println("注册成功,感谢你的使用!!");
            flag = true;
        }
        return flag;
    }
    public static void main(String[] args) {
        //输入
        Scanner input = new Scanner(System.in);
        String engName = "";//java工程师用户名
        String pwd1 = "";//第一次输入密码
        String pwd2 = "";//第二次输入密码
        boolean flag = false;//循环退出条件

        do {
            System.out.println("请输入用户名:");
            engName = input.nextLine();
            System.out.println("请输入密码:");
            pwd1 = input.nextLine();
            System.out.println("请再次输入密码:");
            pwd2 = input.nextLine();
            //判断两次密码是否相同
            flag = pre(engName,pwd1,pwd2);
        }while(!flag);
    }
}

  2.3 结果

d5128d42a2804fa6a677e864febdd859.png


 总结

提示:这里对文章进行总结:
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mikudd3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值