试题 算法训练 比较字符串
资源限制
时间限制:1.0s 内存限制:512.0MB
编程实现两个字符串s1和s2的字典序比较。(保证每一个字符串不是另一个的前缀,且长度在100以内)。若s1和s2相等,输出0;若它们不相等,则指出其第一个不同字符的ASCII码的差值:如果s1>s2,则差值为正;如果s1<s2,则差值为负。
样例输入
java basic
样例输出
8
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
String s1 = sc.next();
String s2 = sc.next();
//首先判断s1 s2 是否相等,若相等则直接输出0
if(s1.equals(s2)) {
System.out.println(0);
}else {
sum(s1,s2);
}
}
public static void sum(String s1,String s2) {
char [] str1 = s1.toCharArray();
char [] str2 = s2.toCharArray();
int n = 0;
//判读 获取长度
if(str1.length>str2.length) {
n=str1.length;
}else {
n=str2.length;
}
//比较
for(int i=0;i<n;i++) {
if(str1[i] != str2[i]) {
//直接将这个字符转化为int型就可以得到ascii码值
int a = str1[i];
int b = str2[i];
System.out.println(a-b);
return;
}
}
}
}
将char类型直接转换为int类型就可以直接获得ascii值