下列语句输出的结果是( )。 String s1="abcd"; String s2="acd"; System.out.println(s1.compareTo(s2)); A. 1 B. -1 C. 98 D. -98
时间: 2024-04-02 12:31:45 浏览: 99
答案是B. -1。
String类的compareTo()方法比较两个字符串,如果第一个字符串小于第二个字符串,则返回一个小于0的值;如果第一个字符串大于第二个字符串,则返回一个大于0的值;如果两个字符串相等,则返回0。在这个例子中,s1中的'b'的Unicode码(98)大于s2中的'd'的Unicode码(100),因此s1大于s2,返回一个小于0的值,即-1。
相关问题
写出代码运行的结果 String s="asgfasg"; String s3="asgfasg"; String s1=new String(s); String s2="SDFSdfs"; System.out.println(s.charAt(4)); //结果1 System.out.println(s.compareTo(s1)); //结果2 System.out.println(s.compareTo(s2)); //结果3 System.out.println(s.concat(s2)); //结果4 System.out.println(s); //结果5 System.out.println(s2.contains("dfs")); //结果6 System.out.println(s.equals(s1)); //结果7 System.out.println(s.substring(2,5)); //结果8 System.out.println(s==s3); //结果9 System.out.println(s==s1); //结果10 System.out.println(String.valueOf(53.56)); //结果11
代码运行的结果如下:
```
g
0
-19
asgfasgSDFSdfs
asgfasg
true
true
gfa
true
false
53.56
```
解释如下:
1. 输出字符串s中索引为4的字符,即 'g'。
2. 比较字符串s和s1,两个字符串相等,返回0。
3. 比较字符串s和s2,s2的字符序列在字典序上比s小,返回一个负数。
4. 将字符串s和字符串s2连接起来,返回一个新的字符串 "asgfasgSDFSdfs"。
5. 输出字符串s的内容,即 "asgfasg"。
6. 判断字符串s2中是否包含子字符串 "dfs",返回true。
7. 比较字符串s和s1,两个字符串相等,返回true。
8. 返回字符串s中索引从2到5的子串,不包括索引5,即 "gfa"。
9. 字符串s和字符串s3引用同一个字符串对象,返回true。
10. 字符串s和字符串s1引用不同的字符串对象,返回false。
11. 将浮点数53.56转化为字符串 "53.56"。
6-8 定义Student类,实现学生对象从小到大输出。 分数 10 作者 邱颖豫 单位 许昌学院 请根据样例程序代码,定义Student类,实现两个学生对象从小到大输出。 裁判测试程序样例: public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Student s1 = new Student(sc.next(),sc.nextInt()); //输入姓名,成绩 Student s2 = new Student(sc.next(),sc.nextInt()); //输入姓名,成绩 if(s1.compareTo(s2)<=0) { System.out.println(s1); System.out.println(s2); } else { System.out.println(s2); System.out.println(s1); } sc.close(); } } /* 请在这里填写答案 */ 输入样例1: 张三 90 李四 60 输出样例1: 李四,60 张三,90 输入样例2: 张三 60 李四 90 输出样例2: 张三,60 李四,90 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
以下是实现题目要求的Student类的代码:
```
import java.util.*;
public class Student implements Comparable<Student> {
private String name; // 姓名
private int score; // 成绩
public Student(String name, int score) {
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student s) {
return this.score - s.score; // 按成绩从小到大排序
}
@Override
public String toString() {
return this.name + "," + this.score; // 输出格式:姓名,成绩
}
}
```
在主方法中,先通过Scanner输入两个学生对象的姓名和成绩,然后使用compareTo方法进行比较,按成绩从小到大输出学生对象。具体代码如下:
```
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student s1 = new Student(sc.next(), sc.nextInt()); // 输入姓名,成绩
Student s2 = new Student(sc.next(), sc.nextInt()); // 输入姓名,成绩
if (s1.compareTo(s2) <= 0) {
System.out.println(s1);
System.out.println(s2);
} else {
System.out.println(s2);
System.out.println(s1);
}
sc.close();
}
}
```
阅读全文