Java从入门到精通章节练习题——第十章

Exercise 1 判断数字共有多少位

package org.hj.chapter10;

public class DetermineNumber {
    
    

    /**
     * 综合练习1:判断数字共有多少位 现有如下long值:long l = 1234567890987654321L;,
     * 请问这个超大的数字共有多少位?
     */

    public static void main(String[] args) {
    
    
        Long l = 1234567890987654321L;
        int num = 0;
        String string = l.toString();//转成字符串
        num = string.length();

        System.out.println(l + "一共有" + num + "位");
    }
}

Exercise 2 确认《长恨歌》中的第85个字是什么

package org.hj.chapter10;

public class EternalRegretSong {
    
    

    /**
     * 综合练习2:确认《长恨歌》中的第85个字是什么 《长恨歌》节选内容如下:
     *
     * 汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。
     * 天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。
     * 侍儿扶起娇无力,始是新承恩泽时。云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。
     * 承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。
     *
     * 确认上述节选内容的第85个字是什么(标点符号算一个字)。
     */

    public static void main(String[] args) {
    
    

        String content = "汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。" +
                "天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。" +
                "侍儿扶起娇无力,始是新承恩泽时。云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。" +
                "承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。";

        char c = content.charAt(84);//索引从0开始计算,第85个索引为84
        System.out.println(c);
    }
}

Exercise 3 判断后缀名

package org.hj.chapter10;

public class DetermineSuffixName {
    
    

    /**
     * 综合练习3:判断后缀名 设计一个方法,根据传入的文件名字符串判断该文件是不是MP4格式。
     */

    public static void main(String[] args) {
    
    

        String fileName1 = "我的世界.exe";
        String fileName2 = "有谱.mp4";

        judge(fileName1);
        judge(fileName2);

    }

    public static void judge(String fileName) {
    
    
        String substring = fileName.substring(fileName.lastIndexOf("."));
        if (".mp4".equals(substring)) {
    
    
            System.out.println(fileName + "是mp4格式");
        } else {
    
    
            System.out.println(fileName + "不是mp4格式");
        }
    }
}

Exercise 4 找到名字最后一个字相同的人

package org.hj.chapter10;

public class FindSameName {
    
    

    /**
     * 综合练习4:找到名字最后一个字相同的人 在“张三”“李四”“王五”“赵六”“周七”“王哲”“白浩”“贾蓉”“慕容阿三”“黄蓉”
     * 10个名字中找到并输出最后一个字相同的名字。
     */

    public static void main(String[] args) {
    
    
        String[] names = {
    
    "张三", "李四", "王五", "赵六", "周七", "王哲", "白浩", "贾蓉", "慕容阿三", "黄蓉"};

        char lastChar = names[0].charAt(names[0].length() - 1); // 取第一个名字的最后一个字母
        boolean found = false;

        for (String name : names) {
    
    
            if (name.charAt(name.length() - 1) == lastChar) {
    
    
                System.out.println(name);
                found = true;
            }
        }

        if (!found) {
    
    
            System.out.println("没有找到名字最后一个字相同的人");
        }
    }
}

Exercise 5 转置字符串

package org.hj.chapter10;

import java.util.Scanner;

public class TransposeString {
    
    

    /**
     * 综合练习5:转置字符串 在控制台上输入一个字符串,将此字符串转置输出,
     * 例如:“故事”转置后变为“事故”。
     */

    public static void main(String[] args) {
    
    

        String s = null;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要转置的字符串:");
        s = scanner.nextLine();
        StringBuffer stringBuffer = new StringBuffer(s);
        StringBuffer reverse = stringBuffer.reverse();//调用StringBuffer中的recerse()方法完成转置操作
        System.out.println("转置结果为:" + reverse);
    }
}

Exercise 6 检索图书(一)

package org.hj.chapter10;

import java.util.Scanner;

public class RetrieveBooks1 {
    
    

    /**
     * 综合练习6:检索图书(一) 书架上存放着《明史讲义》《明代社会生活史》《紫禁城的黄昏》《中国的黄金时代》
     * 《国史十六讲》《停滞的帝国》《唐朝定居指南》《明史简述》《明史十讲》《大明风物志》《西方眼中的中国》
     * 《皇帝与秀才》,通过关键字或书名检索出相应的书籍。
     */

    public static void main(String[] args) {
    
    

//        String books = "《明史讲义》,《明代社会生活史》,《紫禁城的黄昏》,《中国的黄金时代》," +
//                "《国史十六讲》,《停滞的帝国》,《唐朝定居指南》,《明史简述》,《明史十讲》," +
//                "《大明风物志》,《西方眼中的中国》,《皇帝与秀才》";
        String books[] = {
    
    "《明史讲义》","《明代社会生活史》","《紫禁城的黄昏》","《中国的黄金时代》",
                "《国史十六讲》","《停滞的帝国》","《唐朝定居指南》","《明史简述》","《明史十讲》",
                "《大明风物志》","《西方眼中的中国》","《皇帝与秀才》"};

        String key = null;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入检索条件:");
        key = scanner.nextLine();
        for (int i = 0; i < books.length; i++) {
    
    
            if (books[i].contains(key)) {
    
    
                System.out.println(books[i]);
            }
        }
    }
}

Exercise 7 检索图书(二)

package org.hj.chapter10;

import java.util.Scanner;

public class RetrieveBooks2 {
    
    

    /**
     * 综合练习7:检索图书(二) 有两个小型书柜,其中第一个书柜依次有5本书,即《Java》《Java Web》《C语言》
     * 《C++》《Linux C》。第二个书柜依次也有5本书,即《论语》《资治通鉴》《四十二章经》《史记》《隋唐史》。
     * 控制台输入要搜索的书名或关键字(包括可忽略大小写的字母)后,输出书名以及书的位置,运行结果如图10.24所示。
     */

    public static void main(String[] args) {
    
    

        String bookcase1[] = {
    
    "《Java》","《Java Web》","《C语言》","《C++》","《隋唐史》"};

        String bookcase2[] = {
    
    "《论语》","《资治通鉴》","《四十二章经》","《史记》","《Linux C》"};

        String key = null;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入检索条件:");
        key = scanner.nextLine().toLowerCase();

        for (int i = 0; i < bookcase1.length; i++) {
    
    
            int order = 0;
            if (bookcase1[i].toLowerCase().contains(key)) {
    
    
                order = i + 1;
                System.out.println(bookcase1[i] + ":第1个书柜里的第 " + order + "本书");
            }
        }
        for (int i = 0; i < bookcase2.length; i++) {
    
    
            int order = 0;
            if (bookcase2[i].toLowerCase().contains(key)) {
    
    
                order = i + 1;
                System.out.println(bookcase2[i] + ":第2个书柜里的第 " + order + "本书");
            }
        }
    }
}

Exercise 8 用户名校验

package org.hj.chapter10;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class CheckUserName {
    
    

    /**
     * 综合练习8:用户名校验 用户注册某网站账号,该网站已注册的用户名为 mrsoft、mr、miss和Admin。
     * 如果用户申请的用户名已被他人注册,则注册失败并给予用户提示。
     */

    public static void main(String[] args) {
    
    

        Map<String, String> user = new HashMap<>();
        user.put("mrsoft", "mrsoft");
        user.put("mr", "mr");
        user.put("miss", "miss");
        user.put("Admin", "Admin");

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String username = scanner.nextLine();
        if (user.containsKey(username)) {
    
    
            System.out.println("用户名已存在,注册失败");
            return;
        }
        System.out.println("注册成功:" + username);
    }
}

猜你喜欢

转载自blog.csdn.net/dedede001/article/details/130293565