任务描述:
在最近的班干部竞选中,小明如愿以偿的当上了班长,成为班长后的第一件事,便是统计制作全班同学的花名册。由于上一任班长是个马大哈,之前的花名册可能存在各种问题,现在小明想要比对两份花名册的长度,以及它们是否相同。
相关知识:
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
不相同
生命的奖赏远在旅途终点,而非起点附近。我不知道要走多少步才能达到目标,踏上第一千步的时候,仍然可能遭到失败。但我不会因此放弃,我会坚持不懈,直至成功!
开始你的任务吧,祝你成功!
注意:
1.java基础输入语句:
1.使用Scanner
Scanner sc = new Scanner(System.in);
如果要输入整数,则 int n = sc.nextInt();
String类型的,则String temp = sc.next();
2.使用BufferedReader
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
String input = br.readLine();
2.常见输入语句
Scanner cin=new Scanner(System.in);
int a=cin.nextInt();//输入一个整数
System.out.println(a);
double b=cin.nextDouble();//输入一个双精度的浮点数
System.out.println(b);
String str=cin.next();//输入一个单词,遇到分号则输入终止
System.out.println(str);
String str2=cin.nextLine();//输入一行,中间可有多个空格
System.out.println(str2);
代码如下:
package step1;
import java.util.Scanner;
public class Roster {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
/********** Begin *********/
String a=scanner.nextLine(); //输入一行,中间可有多个空格
String roster1=new String(a);
String b=scanner.nextLine(); //输入一行,中间可有多个空格
String roster2=new String(b);
int len1 = roster1.length();
System.out.println(len1);
int len2 = roster2.length();
System.out.println(len2);
if(roster1.compareTo(roster2)==0){
System.out.print("相同");
}
else {
System.out.print("不相同");
}
/********** End *********/
}
}