EduCoder-Java面向对象(第四章)-String类 的实现代码 关卡一 length()方法与compareTo()方法的使用 - 花名册

1. length()方法与compareTo()方法的使用 - 花名册

任务描述
在最近的班干部竞选中,小明如愿以偿的当上了班长,成为班长后的第一件事,便是统计制作全班同学的花名册。由于上一任班长是个马大哈,之前的花名册可能存在各种问题,现在小明想要比对两份花名册的长度,以及它们是否相同。

相关知识
String类的对象的创建
可以按照创建类的对象的一般方法来创建String类的对象:

String string = new String();
也可以直接在创建对象时指定字符串内容:

String string1 = “Hello World”; //string1字符串内容为"Hello World"
String string2 = “”; //string2字符串内容为空
length()方法
String类中的length()方法将返回字符串对象的长度,请看示例:

String string = "abcd";
int len = string.length();
System.out.println(len)

运行上述代码,执行结果为:

4

compareTo()方法
String类中的compareTo()方法将返回两个字符串对象的比较结果,若相等,返回0。不相等时,从两个字符串第1个字符开始比较,返回第一个不相等的字符差;另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。

请看示例:

String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

编程要求
本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下:

roster1变量为之前的全班花名册,roster2变量为小明统计的全班花名册。
你将被要求输出3行:

第一行为roster1的长度;

第二行为roster2的长度;

第三行为两个花名册是否相同,若相同,输出“相同”;反之输出“不相同”(若姓名顺序不同,也算作不相同)。

评测说明
平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:

张三 李四 王五 小明

李明 张三 小明 王五

预期输出:

11

11

不相同

笔者的代码如下

package step1;

import java.util.Scanner;

public class Roster {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /********** Begin *********/
		String str1 = scanner.next();
		String str2 = scanner.next();
		String str3 = scanner.next();
		String str7 = scanner.next();

		String str4 = scanner.next();
		String str5 = scanner.next();
		String str6 = scanner.next();
		String str8 = scanner.next();

		String roster1 = str1+" "+str2+" "+str3+" "+str7;
		String roster2 = str4+" "+str5+" "+str6+" "+str8;
		System.out.println(roster1.length());
		System.out.println(roster1.length());
		if(roster1.compareTo(roster2) == 0){
			System.out.println("相同");
		}else{
			System.out.println("不相同");
		}

        /********** End *********/
    }
}

直接cv即可通过,但笔者建议理解后自己实践

剩余题
EduCoder-Java面向对象(第四章)-String类 的实现代码 关卡二 substring()方法与indexOf()方法的使用 - 姓名查找

EduCoder-Java面向对象(第四章)-String类 的实现代码 关卡三 String串类操作练习 - 文件名与邮箱验证
EduCoder-Java面向对象(第四章)-String类 的实现代码 关卡四 StringBuffer类的定义和使用 - 字母反转

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
StringJava中最常用的之一,它用于表示字符串。它是一个不可变的,也就是说,一旦创建了一个String对象,就不能再改变它的值。 以下是一些常用的String方法: 1. length():返回字符串的长度。 2. charAt(int index):返回指定索引处的字符。 3. equals(Object obj):比较字符串是否相等。 4. compareTo(String anotherString):比较两个字符串的大小关系。 5. substring(int beginIndex, int endIndex):返回指定索引范围内的子字符串。 6. toLowerCase():将字符串转换为小写。 7. toUpperCase():将字符串转换为大写。 8. trim():去掉字符串两端的空格。 9. replace(char oldChar, char newChar):用新字符替换字符串中的旧字符。 10. split(String regex):根据正则表达式将字符串拆分成多个子字符串。 例如,以下代码演示了如何使用String: ```java String str1 = "Hello"; String str2 = "World"; String str3 = str1 + " " + str2; // 连接两个字符串 System.out.println(str3); // 输出 "Hello World" System.out.println(str3.length()); // 输出 11 System.out.println(str3.charAt(6)); // 输出 'W' System.out.println(str3.equals("Hello World")); // 输出 true System.out.println(str3.compareTo("Java")); // 输出一个负整数 System.out.println(str3.substring(0, 5)); // 输出 "Hello" System.out.println(str3.toLowerCase()); // 输出 "hello world" System.out.println(str3.toUpperCase()); // 输出 "HELLO WORLD" System.out.println(" hello ".trim()); // 输出 "hello" System.out.println(str3.replace('o', 'O')); // 输出 "HellO WOrld" String[] words = str3.split(" "); // 拆分成两个字符串 System.out.println(words[0]); // 输出 "Hello" System.out.println(words[1]); // 输出 "World" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康郝

谢谢老板,老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值