试题 算法提高 字符串顺序比较

问题描述  比较两个字符串s1和s2,输出:0表示s1与s2相等;1表示s1的字母序先于s2;-1表示s1的字母序后于s2输入格式  输入两行,第一行输入一个字符串1,第二行输入字符串2。输出格式  输出比较的结果样例输入abc

abd样例输出1样例输入English

English样例输出0样例输入hello

ha样例输出-1

思路:
把两个字符串都放入在两个字符数组中,通过分别对每个字符的判断,得出答案
解决方法:
使用for循环,在循环内部嵌套if条件结构,其中,当两个字符串相等时,可以使用int k = s1.compareTo(s2);如果s1.equals(s2);则k==0;对于compareTo方法的用法,可以百度搜索“Java中的compareTo()方法"。
代码块:

import java.util.Scanner;
public class Main {
     
 public static void main(String[] args){
     
  Scanner sc = new Scanner(System.in);
  
  String s1 = sc.next();
  String s2 = sc.next();
  
  char[]c1 = s1.toCharArray();
  char[]c2 = s2.toCharArray();
  
  int k = s1.compareTo(s2);
  if(k == 0){
     
   System.out.println(k);
     }else{
     
   for(int i = 0; i < s1.length(); i++){
     
    if(c1[i] < c2[i]){
     
     System.out.println("1");
     break;
    }else if(c1[i] > c2[i]){
     
     System.out.println("-1");
     break;
    }else{
     
     continue;
     }
     }
     }
     }
     }

评测结果
个人总结:这个题非常简单,但是简单也得做,也得练,同个这个题目,我对compareTo()这个方法有了进一步的了解……

你可能感兴趣的:(蓝桥杯-算法提高,java)