【java蓝桥杯大赛基础题】字符串的字典序比较

简介: 编程实现两个字符串s1和s2的字典序比较。(保证每一个字符串不是另一个的前缀,且长度在100以内)。若s1和s2相等,输出0;若它们不相等,则指出其第一个不同字符的ASCII码的差值:如果s1>s2,则差值为正;如果s1<s2,则差值为负。

 编程实现两个字符串s1和s2的字典序比较。(保证每一个字符串不是另一个的前缀,且长度在100以内)。若s1和s2相等,输出0;若它们不相等,则指出其第一个不同字符的ASCII码的差值:如果s1>s2,则差值为正;如果s1<s2,则差值为负。

样例输入

java basic

样例输出

8

对于初学者来说可能并不理解对字符串s1和s2的字典序比较,我们今天就来说说什么是字典序比较?

字典序比较就是基于字符串中各个字符的Unicode值。

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode给每个字符提供了一个唯一的数字,不论是什么平台、不论是什么程序、不论是什么语言。Unicode是为了解决传统字符编码方案的局限而产生的,为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

可以使用String类compareTo方法进行处理

s1和s2进行相比,当s1比s2大时,输出一个正整数;当s1比s2小的时候输出一个负整数;s1和s2相等时输出0。字符串里面很多内容(例如:数字、字母、符号)都可以进行比较。

本题的代码如下:

import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
     Scanner sc=new Scanner(System.in);
     String s1=new String(sc.next());
     String s2=new String(sc.next());
     System.out.println(s1.compareTo(s2));
  }
}

image.gif


目录
相关文章
|
18天前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
43 1
|
23天前
|
Java 编译器
【Java基础面试三十】、 两个字符串相加的底层是如何实现的?
这篇文章解释了Java中两个字符串相加的底层实现:对于字符串直接量的拼接,编译器在编译时会进行优化合并;而对于包含变量的字符串拼接,编译器会采用`StringBuilder`进行优化,自动创建实例并调用`append()`方法来拼接字符串。
|
3天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
8天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
19天前
|
存储 Java
|
19天前
|
存储 Java
如何在 Java 中打印字符串数组列表
【8月更文挑战第23天】
26 2
|
19天前
|
存储 Java API
|
23天前
|
安全 Java 编译器
【Java基础面试二十九】、说一说你对字符串拼接的理解
这篇文章讨论了Java中字符串拼接的四种常用方式(使用`+`运算符、`StringBuilder`、`StringBuffer`和`String`类的`concat`方法),每种方式适用的场景,以及在不同情况下的性能考量。
|
22天前
|
Java 测试技术
Java系列之判断字符串是为空或者null
这篇文章介绍了如何在Java中使用`isEmpty()`方法判断字符串是否为空或`null`,并提供了相应的测试用例来演示其用法。