我是靠谱客的博主 直率萝莉,最近开发中收集的这篇文章主要介绍javaSE的一些练习代码题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求:

/**
 * 1.程序运行后通过键盘录入一个字符串。要求字符串中必须包含:大写字母
 * 2.如果录入的字符串中没有大写字母、要进行给出提示。然后程序可以继续录入字符串
 * 3.如果录入的字符串中有大写字母。那么统计这个字符串中小写字母、大写字母、数字、其他字符出现的个数。程序结束
 * 思路分析:
 * 1.创建键盘输入,接收用户数据
 * 2.创建一个test方法, 功能: 能够识别用户数据是否满足要求,能给出相应提示语句
 * 3.调用test方法,给用户反馈
 * 4.用死循环包裹1和2的逻辑代码,若用户输入错误则循环输入,若满足要求,则break
 * 5.创建一个info方法,  功能: 能够统计用户输入的合法数据中,小写字母、大写字母、数字、其他字符出现的个数,打印出统计结果
 * 6.在test方法,判断用户数据合法后,调用info方法,
 */

代码实现:

public class Demo1 {
    public static void main(String[] args) {
        //1.创建键盘输入,接收用户数据
        Scanner sc = new Scanner(System.in);
        //4.用死循环包裹1和2的逻辑代码,若用户输入错误则循环输入,若满足要求,则break
        lo:while (true){
            //提示
            System.out.println("需要包含大写字母");
            System.out.print("请输入: ");
            String str = sc.nextLine();
            //调用test方法,将用户数据传入,实现对数据的判断,使用t接收返回值
            boolean t = test(str);
            //根据t判断用户输入的数据是否合法
            if (t){
                //若合法,终止循环
                break lo;
            }
        }
    }

    //2.创建一个test方法, 功能: 能够识别用户数据是否满足要求,能给出相应提示语句     参数: 用户数据str
    public static boolean test(String str) {
        //先定义一个变量flag,来接收用户数据是否合法的结果,同时假设结果为false
        boolean flag = false;
        //遍历字符串,拿出字符串中每个元素
        for (int i = 0; i < str.length(); i++) {
            //将元素赋值给遍历c
            char c = str.charAt(i);
            //判断元素c是否在大写字母的范围内
            if (c >= 'A' && c <= 'Z') {
                //在范围内,说明含有大写字符,true
                flag = true;
            }
        }
        //用if语句判断结果
        if (flag){
            //若结果为true,说明数据合法,调用info方法,对数据进行统计
            info(str);
        } else {
            //若不在范围内,说明不含有大写字符,数据不合法,给出提示
            System.out.println("数据输入不合法! 请重新输入");
        }
        //使用return将flag的值带回,用于在main方法中判断是否要中断循环
        return flag;
    }

    //5.创建一个info方法,  功能: 能够统计用户输入的合法数据中,小写字母、大写字母、数字、其他字符出现的个数,打5印出统计结果
    public static void info(String str) {
        //定义4个计数器,分别为四类字符进行计数
        int small = 0;
        int big = 0;
        int num = 0;
        int el = 0;
        //遍历字符串,取出所有元素,准备进行比对
        for (int i = 0; i < str.length(); i++) {
            //将取得的元素用c接收
            char c = str.charAt(i);
            //根据c来判断该字符是属于哪个类型
            if (c >= '0' && c <= '9'){
                //若是数字范围内,让数字计数器进行计数
                num++;
            }else if (c >= 'a' && c <= 'z'){
                //若是小写字母范围内,让小写字母计数器进行计数
                small++;
            }else if (c >= 'A' && c <= 'Z'){
                //若是大写字母范围内,让大写字母计数器进行计数
                big++;
            }//上面三个条件都不满足时,说明此字符串是其他类型
            else{
                //让其他计数器计数
                el++;
            }
        }
        //for循环结束后,完成对字符串的筛选统计,输出统计结果
        System.out.println("大写字母有"+big+"个");
        System.out.println("小写字母有"+small+"个");
        System.out.println("数字有"+num+"个");
        System.out.println("其他字符有"+el+"个");
    }

}

 需求:

/**
 * 用户输入一个字符串,筛选出其中的数字和字母并按照数字在前字母在后的规则
 * 组成一个新的字符串,把组成的新字符串打印在控制台。
 */

代码实现:

public class Demo2 {
    public static void main(String[] args) {
        //键盘输入
        Scanner sc = new Scanner(System.in);
        System.out.println("输入:");
        //接收
        String str = sc.nextLine();
        System.out.println("您输入的字符串是: " + str);
        //调用sort方法,将字符串进行排序,参数: 字符串
        String s = sort(str);
        System.out.println("将字符串排序后: "+s);

    }

    //创建sort方法, 功能: 将字符串进行排序
    private static String sort(String str) {
        //创建4个StringBuild对象,用来储存小写字母类型字符,大写字母类型字符,数字类型字符,其他类型字符
        String big = new String();
        String samli = new String();
        String num = new String();
        String el = new String();

        //遍历字符串,取出每个元素
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            //判断字符在哪一种类型范围内
            if (c >= 'A' && c <= 'Z') {
                //若是大写字母,拼接进big对象
                big+=c;
            } else if (c >= 'a' && c <= 'z') {
                //若是小写字母,拼接进samli对象
                samli+=c;
            } else if (c >= '0' && c <= '9') {
                //若是数字,拼接进num对象
                num+=c;
            }else {
                //若不是这些类型,那就是其他类型,拼接进el对象
                el+=c;
            }
        }
        //for循环结束后,会将字符串的每个字符分类完毕,
        //将四种类型进行拼接输出

        return (num+big+samli+el);
    }
}

需求:

/**
 * 生成随机的小写字母为验证码
 */

代码实现:

public class Demo8 {
    public  static void main(String[] args){
        String code = getCode();
        System.out.println("验证码为: "+ code);
    }
    //创建5个随机数验证码
    public static String getCode() {
        //创建一个StringBuilder对象,用来拼接有效的字符
        StringBuilder sb = new StringBuilder();
        Random r = new Random();
        //创建一个for循环,让随机数,随机5次
        for (int i = 1; i <= 5; i++) {
            //产生随机数,用sjCode来接收
            int sjCode = r.nextInt(122-97+1)+97;
            //生成随机数后,用append方法将5个随机数拼接,同时将int类型的随机数强转成char类型,就变成了字母
            sb.append((char) sjCode);
        }
        //在循环结束后,将sb的值转换为String类型返回
        return sb.toString();
    }
    short s= 3;
}

 

 需求:

/**
 * 用户名为"admin"
 * 密码为"123456"
 * 设置用户登录页面
 * 若用户输入错误3次,则退出程序
 */

代码实现:

public class Demo1 {
    public static void main(String[] args) {
        //定义用户数据变量
        String userName = "admin";
        String password = "123456";
        //键盘输入
        Scanner sc = new Scanner(System.in);
        for (int i = 1; i < 4; i++) {
            System.out.println("请输入您的用户名: ");
            String s = sc.nextLine();
            System.out.println("请输入您的密码: ");
            String p = sc.nextLine();
            if (s.equals(userName) && p.equals(password)){
                System.out.println("登录成功");
                break;
            }else if (i == 3){
                    System.out.println("今日登录错误次数已达上限");
                }else {
                    System.out.println("登录失败,密码或用户名输入错误,您还剩"+(3-i)+"次登录机会");
            }
        }
    }
}

需求:

/*
        定义一个方法能打印出任意行任意列的矩形
        用*打印矩形
        键盘录入几行几列
    例如:
        当用户希望打印3行5列打印出效果如下:
        *****
        *****
        *****
        当用户希望打印4行8列打印出效果如下:
        ********
        ********
        ********
        ********
    提示:
        可以使用双重for循环
   需求分析:
        1.创建键盘输入,取出行变量,列变量
        2.定义一个方法,形参为 行变量,列变量,因为是打印,所以无返回值
        3.因为是循环打印,而且不知道循环多少次,用while循环
        4.将while循环中的
 */

 代码实现:

public class Demo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //1.创建键盘输入,取出行变量,列变量
        System.out.println("请输入想要多少行: ");
        int hang = sc.nextInt();
        System.out.println("请输入想要多少列: ");
        int lie = sc.nextInt();
        //调用方法进行打印
        num(hang, lie);
    }
    //2.定义一个方法,形参为 行变量,列变量,因为是打印,所以无返回值
    public static void num(int hang, int lie) {
            //定义一个循环,代表要循环打印多少行
            for (int h = 1; h <= hang; h++) {
                //循环打印列数
                for (int l = 1; l <= lie; l++) {
                    System.out.print("*");
                }
                //一列打印完毕后进行换行
                System.out.println();
            }

    }
}

 需求:

/*
需求:
    创建长度为5的数组,键盘录入数组数据,创建一个方法
    让数组最大元素与数组最小元素交换,最后返回整理好的数组。
思路分析:
    1. 创建长度为5的数组
    2. 使用循环进行5此键盘录入,录入数组的元素
    3. 使用循环,输出原数组元素
    4. 调用方法,完成数组最大元素和最小元素交换
    5. 输出改变后的数组元素
 */

代码实现:

public class Demo7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //1. 创建长度为5的数组
        int[] arr =new int[5];
        //2. 使用循环进行5此键盘录入,录入数组的元素
        for (int i = 0; i < arr.length; i++) {
            System.out.print("请输入数组中的第"+(i+1)+"个数的值:  ");
            arr[i]=sc.nextInt();
        }
        System.out.println("您输入的数组为:");
        //遍历数组打印出用户录入的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
            //如果打印到最后一个数,则进行换行
            if (i == arr.length-1){
                System.out.println();
            }
        }
        //调用方法
        newArr(arr);
        System.out.println("调用方法改变后的数组为: ");
        //遍历数组,打印出更换后的新数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
    //定义一个方法,用于完成数组最大元素和最小元素交换
    public static void newArr(int[] arr) {
        //用变量储存数组中的最小值
        int min = arr[0];
        //定义变量来储存数组中最小值的索引
        int minIndex = 0;
        //用变量储存数组中的最大值
        int max = arr[0];
        //定义变量来储存数组中最大值的索引
        int maxIndex = 0;
        //遍历数组
        for (int i = 1; i < arr.length; i++) {
            //if语句判断最小值
            if (min > arr[i] ) {
                //将最小值赋值给min
                min = arr[i];
                //将最小值的索引赋值给minIndex
                minIndex = i ;
            }else if (max < arr[i]){
                //将最大值赋值给max
                max = arr[i];
                //将最大的索引赋值给maxIndex
                maxIndex = i ;
            }
        }//根据最大值的索引,和最小值的索引,将最大与最小值调换
            arr[maxIndex] = min;
            arr[minIndex] = max;
    }
}

最后

以上就是直率萝莉为你收集整理的javaSE的一些练习代码题的全部内容,希望文章能够帮你解决javaSE的一些练习代码题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部