1、评委打分

package com.zcl.Demo2;

import java.util.Scanner;

public class Demo5 {
    /*
    需求:
    根据6为评委输入的值,存放到数组之中,求出最大值、最小值、数组的和、还有平均分
    分析:
    - 根据评委输入的分数放到数组里面去,要判断输入的分数是否在0-100之间
    - 求出最大值,定义一个对比的变量,通过遍历与数组进行对比,如果对值小于数组值就重新赋值对比值,最后输出的对比值就是最大值
    - 最小值反之
    - 求和:通过定义一个num=0变量来获取,循环遍历去添加数组的值
    - 求平均分:将获取到的(总和-最大值-最小值) / 4;得出
     */
    public static void main(String[] args) {
        // 键盘录入
        Scanner sc = new Scanner(System.in);
        // 定义长度为5的数组
        int[] arr = new int[5];
        // 键盘录入存入数组中
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第"+(i+1)+"个评委的评分");
            int i1 = sc.nextInt();// 键盘录入
            arr[i]=i1; // 分数赋值给数组
        }

        // 求最大值
        int max = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if(max<arr[i]){
                max+=i;
            }
        }
        System.out.println("分数最大值为:"+max);

        // 求最小值
        int min = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if(min>arr[i]){
                min+=i;
            }
        }
        System.out.println("分数最小值为:"+min);

        // 求和
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println("评分求和值为:"+sum);

        // 求平均数
        int pj = (sum-max-min)/4;
        System.out.println("评委给分的平均数为:"+pj);
    }
}

2、反转一个整数

package com.zcl.Demo2;

import java.util.Scanner;

public class Demo6 {
    public static void main(String[] args) {
        /*
        需求:
            反转一个整数输出控制台
         */

        Scanner sc = new Scanner(System.in);
        // 键盘录入提示
        System.out.println("请输入一个您要反转的整数:");
        int sum = sc.nextInt();
        int a = 0;

        while (sum!=0){
            a=a*10+sum%10;
            sum=sum/10;
        };
        System.out.println(a);
    }
}

2、封装一个方法反转一个字符串

package com.zcl.Demo2;

import java.util.Scanner;

public class Demo7 {
    public static void main(String[] args) {
        /*
        需求:
            封装一个方法,返回键盘录入的整数
        分析:
            声明一个变量
            封装方法,返回String,接收String
            遍历输入的长度
            添加获取的元素添加到变量里面
         */

        // 键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("键盘录入一个反转字符串:");
        String i = sc.nextLine();
        // 调用方法
        String s = reverdr(i);
        System.out.println(s);
    }
    // 定义方法,返回String,接收int
    public static String reverdr(String s){
        String sum = "";
        for(int i = s.length()-1;i>=0;i--){
            // 获得每一个字符串
            sum+= s.charAt(i);
        }
        return sum;
    }
}

3、切割字符串

1、封装方法·

package com.zcl.domain;

public class Student {
    // 创建成员变量
    private String name;
    private String age;

    // 创建空的构造方法
    public Student(){

    }

    // 创建带参数的构造方法
    public Student(String name, String age){
        this.name = name;
        this.age = age;
    }

    // 获取私有方法
    public String getName(){
        return name;
    }
    public String getAge(){
        return age;
    }

    // 设置私有方法
    public void setName(String name){
        this.name = name;
    }
    public void setAge(String age){
        this.age=age;
    }
}

2、调用方法,切割字符串

package com.zcl.Demo2;

import com.zcl.domain.Student;

import java.util.Scanner;

public class Demo8 {
    public static void main(String[] args) {
        /*
        切割字符串
        需求:
            以字符串的形式录入学生信息,例如:“张三,23”从该字符串中切割有效的数据
            封装为String学生对象
        思路:
            填写Student类,用于封装数据
            键盘录入一个字符串,用Scanner实现
            根据逗号切割字符串,得到(张三)(23)
                String[] split(String regex):根据传入的字符串作为规则进行切割
                将切割后的内容存入到字符串数组中,并将字符串数组返回
            从得到的字符串数组中取出元素内容,通过Student类的有参数构造方法封装为对象
            调用对象getXxx方法,取出数据并打印
         */
        // 键盘录入
        Scanner s = new Scanner(System.in);
        System.out.println("请输入学生信息:");
        String s1 = s.nextLine(); // 张三,18

        // 一,为切割点(逗号注意区分中英文状态),返回的是一个数组
        String[] sArr = s1.split(",");

        System.out.println(sArr[0]); // 张三
        System.out.println(sArr[1]); // 18

        // 调用Student构造方法
        Student stud = new Student(sArr[0],sArr[1]);
        // 调用方法的对象
        System.out.println(stud.getName()+"...."+stud.getAge());// 张三....18

    }
}

4、简单的登录实现

package com.zcl.Demo2;

import java.util.Scanner;

public class LoginDemo {
    public static void main(String[] args) {
        /*
        需求:
            给定账号密码字符串,根据键盘录入匹配是否登录成功,只有三次机会
        思路:
            字符串变量保存账号密码
            循环判断三次机会
         */

        Scanner sc = new Scanner(System.in);

        // 定义字符串变量放账号和密码
        String name = "admin";
        String age = "admin123";
        // 循环三次机会
        for(int i = 0; i < 3;i++){
            // 提示输入
            System.out.println("请输入账户");
            String users = sc.nextLine();
            System.out.println("请输入密码");
            String ages = sc.nextLine();

            // 判断账号密码是否正确
            if(name.equals(users)&&age.equals(ages)){
                System.out.println("恭喜您登录成功!");
                break;
            }else {
                if(2-i==0){
                    System.out.println("登录错误多次,账号已被锁定");
                    break;
                }else {
                    System.out.println("登录失败,您还有"+(2-i)+"次机会");
                }
            }
        }
    }
}

5、键盘录入字母对大小写进行反转

package com.zcl.Demo3;

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        /*
        需求:
            根据键盘录入的字母,对大小写进行反转操作(大写变小写,小写变大写)
        思路:
            键盘录入字符串,Scanner
            创建一个StringBuffer对象(可变的字符串序列)
            转换之后的字母使用append的方法添加到对象中
            使用Character判断该类提供了几种方法来确定字符的类别(小写字母,数字等)以及将字符从大写转换为小写,反之亦然。
            判断大写isUpperCase,返回的值为布尔
            判断小写isLowerCase,返回布尔类型
            toUpperCase使用UnicodeData文件中的大小写映射信息将字符参数转换为大写。
            toLowerCase使用UnicodeData文件中的大小写映射信息将字符参数转换为小写。
         */

        // 键盘录入字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要反转的字母:");
        String str = sc.nextLine();

        // 创建StringBuffer对象
        StringBuffer strB = new StringBuffer();
        // 判断录入不为空时
        if(str!=null){
            // 循环字符串的长度
            for(int i = 0; i<str.length();i++){
                // 获取到字母转化字符型
                char ch = str.charAt(i);
                // 判断是大写还是小写
                if(Character.isLowerCase(ch)){ // 判断小写
                    strB.append(Character.toUpperCase(ch));
                }else if(Character.isUpperCase(ch)){ // 判断大写
                    strB.append(Character.toLowerCase(ch));
                }
            }
            // 输出转换的结果
            System.out.print(strB);
        }
    }
}