Day08作业
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 参考步骤:
先定义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 参考步骤:
参考步骤
- 定义int数组,使用
静态初始化
方式为元素赋值。 - 定义StringBuilder对象,用来
拼接数组
的元素。 - 使用for循环对数组进行遍历,循环索引从
0
开始,到数组的长度-1
结束。 - 开始拼接一个
<
,然后逐个使用append()方法拼接数组元素,最后再拼接一个>
,最后再将StringBuilder转成String,并打印出来。
3.2.3 答案:
回答
代码写在Idea中