Day08作业

YangeIT大约 5 分钟

Day08作业

点击回到笔记 📒👈

1. 简答题 🍐

1️⃣ 1.1 请问==和equals的区别??

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


2️⃣ 1.2 请问StringBuilder这个类,你是如何理解它的存在的?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


3️⃣ 1.3 我们为什么要学习String和StringBuilder之间的相互转换?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


5️⃣ 1.4 请问String是引用数据类型吗?它和其它引用数据类型有何区别?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


2. 选择题 🔡

1️⃣ 2.1(单选):下面是关于String类 API 当中与判断相关的方法,如果用于忽略大小写验证码的判断,最佳的方法是()

A. public boolean equals(Object anObject){  ... }
B. public boolean equalsIgnoreCase(String anotherString){ ... }
C. public boolean endsWith(String suffix){ ... }
D. public boolean startsWith(String prefix){ ... }

2️⃣ 2.2(单选):下列代码的运行结果是( )

public static void main(String[] args) {
    String s1 = "abc";
    String s2 = "abc";
    String s3 = "ABC";
    String s4 = "a";
    String s5 = s4 + "bc";
    System.out.println(s1.equals(s2));
    System.out.println(s1.equalsIgnoreCase(s3));
    System.out.println(s2.equals(s5));
    System.out.println(s3.equalsIgnoreCase(s5));
}

A.  true false true true

B.  true true false true

C.  true true true true

D.  true true true false


3️⃣ 2.3(单选):以下哪个选项可以获取字符串对象的长度( )

A. public int length
B. public int length(){ ... }
C. public int size(){ ... }
D. public char charAt(int index){ ... }

4️⃣ 2.4(多选):下列关于String和StringBuilder的区别( )

A.  String是可变的字符序列

B. String是不可变的字符序列

C.  StringBuilder是可变的字符序列

D. StringBuilder是不可变的字符序列


5️⃣ 2.5(单选):下列选项中,关于StringBuilder的说法正确的是( )

A.  StringBuilder类只有一个空参构造

B. StringBuilder的length()方法可以得到该对象的字符容量

C.  public StringBuilder()的作用是构造一个不带任何字符的字符串容器,其初始容量为 0 个字符

D. public StringBuilder()的作用是构造一个不带任何字符的字符串容器,其初始容量为 16 个字符


6️⃣ 2.6(单选):下面程序运行的结果是( )

String str1= "1", str2="2";
if(str1==str2){
    System.out.println(ABC);
}else if(str1<str2){
    System.out.println(DEF);
}else{
    System.out.println(GHJ);
}

A. ABC

B. DEF

C. GHJ

D. 编译失败


7️⃣ 2.7(单选):读如下代码, 选择出正确的运行结果( )

public class Test {
    public static void main(String[]args) {
       StringBuilder sb = newStringBuilder("a");
       sb.append("b");
       sb.append("c");
       sb.append("ddd");
       sb.append("e");
       System.out.println(sb.length());
    }
}

A.  5

B. 7

C. 4

D.  0


8️⃣ 2.8(单选):请查看以下代码,正确的结果是( )

StringBuilder sb = new StringBuilder();
sb.append("a"); 
sb.append("b").append("c").reverse(); 
System.out.println(sb.toString()); 

A. cab

B.  ABC

C.  abc

D. cba


3. 代码题 ✏️

1️⃣ 3.1 定义String getStr()方法

功能描述: 获取长度为5的随机字符串 一个是1个0-9之间(包含0和9)的整数,其它四位由随机的4个大写英文字母组成,数字和字符之间顺序为:第一位是数字,后4个位是大写英文字母。

​ 打印结果: 5YJGK (因为是随机生成,所以每次生成字符串有可能不一样)

3.1.1 参考步骤:

  1. 先定义String getStr()方法。

     2. 在getStr()中,先定义一个空的字符串。
     3. 创建Random对象。
     4. 使用for循环,循环5次,判断,如果是第1次,就使用随机数对象,生成一个0-9的数字,拼接到第一步第一好的字符串中。如果是第2-5次,就再次使用随机数生成大写字符对应的数字,将数字强转成字符串,再将这些字符也一起拼接到字符串中。
     5. 将字符串返回。
     6. 在main方法中调用getStr()方法,接收到字符串并打印。
    

3.1.2 答案:

public class Test{
    public static void main(String[] args) {
        String s = getStr();
        System.out.println(s);
    }
    
    public static String getStr(){
        // 先定义String getStr()方法。
        String str = "";
        // 创建Random对象
		Random r = new Random();
        (在此处补充代码);
        for(int i = 1; i<= 5;i++){
            // 如何随机生成A-Z之间的字符?     A-Z 对应的数字是 65-90
            (在此处补充代码);
        }
        return str;
    }
}














 





2️⃣ 3.2 请使用静态初始化的方式,创建一个长度为5的整数数组,并为数组中的元素赋值,遍历数组,将数组的每个元素拼接长一个新的字符串,元素之间用减号隔开,开头和结束都是用尖括号

比如.如果数组为{1,2,3,4,5} 打印结果:<1-2-3-4-5>

3.2.1 参考步骤:

参考步骤

  1. 定义int数组,使用静态初始化方式为元素赋值。
  2. 定义StringBuilder对象,用来拼接数组的元素。
  3. 使用for循环对数组进行遍历,循环索引从0开始,到数组的长度-1结束。
  4. 开始拼接一个<,然后逐个使用append()方法拼接数组元素,最后再拼接一个>,最后再将StringBuilder转成String,并打印出来。

3.2.3 答案:

回答

代码写在Idea中