个人错题——关卡五

1.编写java程序,随便输入两个单词,两个单词之间以空格隔开,输出时每个单词的首字母变为大写。如输入:“hello java”,输出为“Hello Java”  

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String s = "";
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();

        for(int i=0; i<line.length(); i++){
            if(i==0){
                s += line.toUpperCase().charAt(i);
            }else if(line.charAt(i)==' '){
                s += " ";
                s += line.toUpperCase().charAt(i+1);
                i++;
            }else {
                s += line.toLowerCase().charAt(i);
            }
        }
        System.out.println(s);
    }

2.求出“hijavahehejavahejava”字符串里面包含几个“java字符串。

public static void  main (String[]args){


String str="hijavahehejavahejava"//插入字符串
int strlen =str.length();//20个字符串

String str1=str.replaceAll("java"+" ")//除了java,str还有8个字符串
int str1len=str1.length;//8

int len = (strlen-ste1len)/4    // (12)/4=3

System.out.println("“hijavahehejavahejava”字符串里面包含" + len + "个“java”字符串");















}

3.

1,判断第一个字符是否为空格,如果是继续向下判断,直到不是空格为止。结尾处判断空格也是如此。
 2,当开始和结尾都判断到不是空格时,就是要获取的字符串。

  * 去除字符串开头和结尾的空格,模拟trim方法
  * @param str 被操作的字符串
  * @param start 开始位置
  * @param end 结束位置
  * 返回去除了开头和结尾的空格的字符串

4. 对字符串中字符进行自然顺序排序。 提示: 1)字符串变成字符数组。 2)对数组排序,选择,冒泡,Arrays.sort(); 3)将排序后的数组变成字符串。   

​       

import java.util.Arrays;

/**
 * @auther shkstrat
 * @create 2021-08-02 17:39
 */
public class string5 {
    public static void main(String[] args) {
         String s="hijklnmabcdef";
         String result=getSort(s);
        System.out.println(result);
    }
    public static String getSort(String str){
            char[]array=str.toCharArray();//转换为数组
            Arrays.sort(array);//冒泡排序***************
            String s=new String(array);//转为字符串
            return s;

    }
}

5.验证码的获取及验证

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

/**
 * @auther shkstrat
 * @create 2021-08-02 20:16
 */
public class stringbuilder1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(true){
            String code =getRandomCode();
            System.out.println("生成的验证码为"+code);

            System.out.println("请输入你的验证码");
            String yan =sc.nextLine();

            if(yan.equalsIgnoreCase(code)){
                System.out.println("正确");
                break;
           }else{
                System.out.println("请重新输入");
            }




        }
    }
    public static String getRandomCode(){
                    StringBuilder sb= new StringBuilder();
                    for(char ch='a';ch<='z';ch++){
                        sb.append(ch);
                    }
                    for(char ch='A';ch<='Z';ch++){
                        sb.append(ch);
                    }
                    for(char ch='0';ch<=9;ch++){
                        sb.append(ch);
                    }
                    String code="";
                    Random r =new Random();
                    for(int i=0;i<4;i++) {
                        int index = r.nextInt(sb.length());
                        code += sb.charAt(index);
                    }
                    return  code;
    }
}

6.定义一个方法,把 int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。

public class API7 {
    public static void main(String[] args) {
            int[]arr={1,2,3};
               System.out.println(arrayToString(arr));
    }
    public static String arrayToString(int []arr){

        StringBuilder sb =new StringBuilder();
        sb.append("[");
        for(int i =0 ;i<3;i++){
            sb.append(i);
            if(i!=arr.length-1){
                sb.append(", ");
            }
        }
        sb.append("]");

        return  sb.toString();
    }
}

7.现有如下文本:"Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的"。请编写程序,统计该文本中"Java"一词出现的次数。

训练目标

public class Test08 {
    public static void main(String[] args) {
        String str = "Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的";
        String tar = "Java";
        // 调用方法并输出
        System.out.println(search(str, tar));

    }
    // 返回值int表示次数,参数列表str表示在哪个字符串中查找,tar表示要查找的目标子串
    public static int search(String str, String tar) {
        // 定义统计变量表示次数
        int count = 0;
        // 定义索引变量,表示每次找到子串出现的索引
        int index = -1;
        // 定义循环,判断条件为在字符串中找到了目标子串
        while ((index = str.indexOf(tar)) != -1) { // 将找到的索引赋值给变量并判断
            // 次数累加
            count++;
            // 把查找过的部分剪切掉,从找到的索引+子串长度的位置开始截取。
            str = str.substring(index + tar.length());
        }
        return count;
    }
}

8.学生管理系统初级版

1.主页面

public class StudentManager {
    public static void main(String[] args) {
        ArrayList<Student>array=new ArrayList<Student>();
        while (true) {
        System.out.println("--------欢迎来到学生管理系统--------");
        System.out.println("1.添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查看所有学生");
        System.out.println("5.退出");
        System.out.println("请输入你的选择");


        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
            switch (line) {
            case "1":
                //System.out.println("添加学生");
                addStudent(array);
                break;
            case "2":
                //System.out.println("删除学生");02

                deleteStudent(array);
                break;
            case "3":
                //System.out.println("修改学生");
                updateStudent(array);
                break;
            case "4":
                //System.out.println("查看所有学生");
                findStudent(array);
                break;
            case "5":
                System.out.println("退出");
                //break;
                System.exit(0);
            }


        }
    }

2.方法页面

扫描二维码关注公众号,回复: 13310408 查看本文章
//添加学生
    public static  void  addStudent(ArrayList<Student>array) {
        Scanner sc = new Scanner(System.in);
        String sid;
        while (true) {
            System.out.println("请输入学生学号");
            sid = sc.nextLine();
            boolean flag = isUsed(array, sid);
            if (flag) {
                System.out.println("你输入的学号被使用,重新输入");
            } else {
                break;
            }
        }
System.out.println("请输入学生姓名");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄");
        String age = sc.nextLine();
        System.out.println("请输入学生居住地");
        String address = sc.nextLine();

        Student s = new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        array.add(s);
        System.out.println("学生添加成功");


    }



//查看所有学生
    public static  void  findStudent(ArrayList<Student>array){

        if(array.size()==0){
            System.out.println("无信息,请输入");
            return;
        }

        System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");

        for(int i=0;i<array.size();i++){
            Student s =array.get(i);
            System.out.println(s.getSid()+"\t\t\t"+s.getName()+"\t"+s.getAge()+"岁\t\t"+s.getAddress());
        }
    }
 //删除学生
    public static  void  deleteStudent(ArrayList<Student>array){
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入要删除学生的学号");
        String sid =sc.nextLine();
        int index = -1;
        for(int i =0;i< array.size();i++){
            Student s =array.get(i);
            if(s.getSid()==sid){
                index =i;
                break;
            }
        }
        if(index==-1){
            System.out.println("信息不存在,请重新输入");
        }else{
            array.remove(index);
            System.out.println("删除学生成功");
        }


    }
    //修改学生
    public static  void  updateStudent(ArrayList<Student>array) {
            Scanner sc = new Scanner(System.in);

            System.out.println("请输入要修改的学号");
            String sid = sc.nextLine();

            System.out.println("请输入学生新姓名");
            String name = sc.nextLine();

            System.out.println("请输入学生新年龄");
            String age = sc.nextLine();

            System.out.println("请输入学生新地址");
            String address = sc.nextLine();

            Student s = new Student();
            s.setSid(sid);
            s.setName(name);
            s.setAge(age);
            s.setAddress(address);

            for (int i = 0; i < array.size(); i++) {
                Student student = array.get(i);
                if (student.getSid().equals(sid)) {
                    array.set(i, s);
                    break;
                }

        }
    }

    //判断输入学号是否重复
    public static  boolean  isUsed(ArrayList<Student>array,String sid){
        boolean flag =false;
        for(int i =0;i<array.size();i++){
            Student s = array.get(i);
            if(s.getSid().equals(sid)){
                flag =true;
                break;
            }
        }
        return  false;
    }

猜你喜欢

转载自blog.csdn.net/m0_59619191/article/details/119331994