Java基础练习题7--【猜拳游戏,模拟双色球功能,统计词语次数,判断大写字母,敏感词过滤程序】


1.猜拳游戏


1表示石头,2表示剪刀,3表示布
接收用户输入的拳 并输出 ,然后电脑随机产生一个数 对比输赢
欢迎来到游戏中心
请用户出拳(1表示石头,2表示剪刀,3表示布)

import java.util.Random;
import java.util.Scanner;
/**
 * @create 2021-05-17 19:01
 * 出拳游戏:1表示石头,2表示剪刀,3表示布
 *    接收用户输入的拳  并输出 ,然后电脑随机产生一个数 对比输赢
 *    欢迎来到游戏中心
 *    请用户出拳(1表示石头,2表示剪刀,3表示布)
 */
public class ShiTouJiandaoBU {
    public static void main(String[] args) {
        ShiTouJiandaoBU stb=new ShiTouJiandaoBU();
        System.out.println("出拳游戏:1表示石头,2表示剪刀,3表示布");
        stb.game();
    }
    //用户:Y;电脑:C;
    public void game() {
        outer:
        for (int i = 0; i <100 ; i++) {
            Scanner s = new Scanner(System.in);
            System.out.println("请您出拳!");
            int Y = s.nextInt();
            System.out.println("电脑出拳");
            //这里用了Random类随机数的特点;
            Random r = new Random();
            //让电脑在1-3之间随机出拳;
            int C = (r.nextInt(3) + 1);
            System.out.println(C);
            //人类胜利时;
            if (Y == 1 && C == 2 || Y == 2 && C == 3 || Y == 3 && C == 1) {
                System.out.println("<用户出拳>----->" + check(Y) + "<电脑出拳>----" + check(C) + "<====用户胜利>");
            }
            //机子胜利时;
            else if (Y == 1 && C == 3 || Y == 2 && C == 1 || Y == 3 && C == 2) {
                System.out.println("<用户出拳>-----" + check(Y) + "<电脑出拳>-----" + check(C) + "<====电脑胜利>");
            }
            //用户和机子平局了
            else if (Y == 1 && C == 1 || Y == 2 && C == 2 || Y == 3 && C == 3) {
                System.out.println("平局");
            } else {
                //不小心输入了别的数字,提示无效;
                System.out.println("你们的比赛无效!请重新开始!");
                continue outer;
            }
        }
    }
    //进行检测出拳的识别;
    public String check(int q){
        if(q==1){
            return"石头";
        }if(q==2){
            return"剪子";
        }if(q==3){
            return"布";
        }
        else{
        return "无效的出拳";
        }
    }
}


2.模拟双色球摇奖功能


要求:每次随机从1-33的数字中随机取出5个不重复的数据
按照从小到大的顺序输出.

import java.util.Arrays;
import java.util.Random;
/**
 * @create 2021-05-17 19:25
 * 模拟双色球摇奖功能
 * 要求:每次随机从1-33的数字中随机取出5个不重复的数据
 * 按照从小到大的顺序输出.
 */
public class CaiPiaoDemo {
    public static void main(String[] args) {
        shseQ();
    }
    //将模拟的双色球功能写在一个静态方法中;
    public static  void shseQ(){
        //创建Random类;
        Random random =new Random();
        //创建数组;
        int[] array=new int[5];
        //定义数组的索引i;
        int i=0;
        while(true){
            //定义随机数r;(在1-33之间)
            int r=random.nextInt(33)+1;
            boolean res=true;
            for (int j = 0; j < array.length; j++) {
                if(array[j]==r){
                    res=false;
                }
            }
            //当抽到重复数组时,取消输出;
            if(res){
                array[i]=r;
                i++;
            }
            //当提取到5个元素时;停止;
            if(i==5){
                break;
            }
        }
        //排序;
        Arrays.sort(array);
        //输出:
        System.out.print("您的号码为:");
        System.out.println(Arrays.toString(array));
    }
}

3.统计某个词语的出现次数


以下是一段歌词,请从这段歌词中统计出朋友出现的次数。

  • “这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。
  • 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。”;
/**
 *以下是一段歌词,请从这段歌词中统计出朋友出现的次数。
 * “这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。
 * 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。”;
 */
public class TongJiPengyou {
    public static void main(String[] args) {
        String s=new String("这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。");
        int number=0;
        String p="朋友";
        //定义开始索引和结束索引位置;
        int start=0;
        int end=0;
        while(true){
            //使用indexOf方法拿到"朋友"第一次出现的位置;
            start=s.indexOf("朋友",start);
            end=start+2;
            if(start>0){
                //使用substring进行截取判断;
                p=s.substring(start,end);
                start++;
                number++;
            }
            else{
                break;
            }
        }
        System.out.println("出现次数为"+number);
        /*//粗略计算出现3次;
        System.out.println("字符串长度为:"+s.length());//121
        int a1=s.indexOf(p,0);
        System.out.println("第一次获取的位置:"+a1);//57
        System.out.println(s.substring(a1,a1+2));
        int a2=s.indexOf(p,a1+2);
        System.out.println("第二次获取的位置:"+a2);//89
        System.out.println(s.substring(a2,a2+2));
        int a3=s.indexOf(p,a2+2);
        System.out.println("第三次获取的位置:"+a3);//99
        System.out.println(s.substring(a3,a3+2));
        int a4=s.indexOf(p,a3+2);
        System.out.println("第四次获取的位置:"+a4);//不存在
        System.out.println(s.substring(a4,a4+2));*/
    }
}


4.判断输入的字母是否为大写字母


从控制台输入一个字母,判断是否大写字母.

import java.util.Scanner;
/**
 * @create 2021-05-17 19:42
 * 从控制台输入一个字母,判断是否大写字母.
 */
public class PanDuanZiMu {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        panduan(scanner);
    }
    //判断是否为大写字母的方法;
    public static void panduan(Scanner scanner){
        System.out.println("请输入一个字母");
        String s=scanner.next();
        //通过substring方法来获取到第一个字符;
        // 然后再用matches方法进行判断;
        //[A-Z] 是匹配大写字母;
        boolean res=(s.substring(0,1)).matches("[A-Z]");
        if(res==true){
            System.out.println("输入的是第一个字符是大写字母");
        }
        else{
            System.out.println("输入的第一个字符不是大写字母");
        }
    }
}

5.编写敏感词过滤程序


编写敏感词过滤程序 `说明:在网络程序中,聊天软件中,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。 这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。`
/**
 * 编写敏感词过滤程序
 * 说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。
 * 如“变性”、“涩情”、“爆炸的”、“恐怖的”、“***枪”、“军火的”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。
 */
public class GuoLvQi{
    public static void main(String[] args) {
    String s="兵器例如发现的某个的兵器的的人出现的枪械的活动时什么兵器dde212s兵器.";
    guolv(s);
    }
    //敏感词过滤程序
    public static void guolv(String s){
        String[] mgc={"发现了","变性","涩情","兵器","爆炸的","恐怖的","军火的","***枪"};
        for (int i = 0; i < mgc.length; i++) {
            for (int j = 0; j < s.length(); j++) {
                //字符串包含了敏感词时;
                if (s.contains(mgc[i])) {
                    //遍历记录出现的位置,并且遍历字符串来调整位置
                    int a = s.indexOf(mgc[i], j);
                    //截取敏感字符;
                    String s1 = s.substring(a, a + 3);
                    //替换敏感词;
                    s = s.replaceAll(s1, "???");
                }
            }
        }
        //输出过滤后的字符;
        System.out.println(s);
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小智RE0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值