如何在字符串中找到第一个字母(按字母顺序)?

时间:2014-10-01 17:19:10

标签: java string sorting alphabetical

所以我需要弄清楚如何找到字母表中首字母出现的字母。

到目前为止,我有这个:

import java.util.Scanner;


public class alphStr {

public static void main(String[] args) {
    System.out.println("Please enter a word - ");
    Scanner in = new Scanner(System.in);
    String word = in.nextLine();
    System.out.println("The word you entered was: " + word);
}

}

我想我可以使用“> ||<”来比较字符串中的字母但我不确定如何去做这件事。任何建议都会很棒!

在阅读完毕后,结束了这个解决方案,感谢大家的帮助。

    import java.util.Scanner;
    import java.util.Arrays;

    public class alphStr {

    public static void main(String[] args) {

    Scanner input = new Scanner (System.in);
    System.out.print("Enter a word: ");
    String word = input.next();
    char[] chars = word.toCharArray();
    Arrays.sort(chars);
    String sorted = new String(chars);
    char x = sorted.charAt(0);
    System.out.println("Alphabetically, the first letter in your word is: " + x);
}
}

4 个答案:

答案 0 :(得分:0)

我个人会使用String类的toCharArray()方法。如在

char[] word2 = word.toCharArray()

执行此操作后,将第一个字母存储在单独的char变量中,并按字典顺序比较每个后续字母。通过这种方式,您可以找到首先出现在字符串中的字母(尽管您需要做更多工作才能在大写和小写之间进行排序!)

答案 1 :(得分:0)

您可以将单词中的字母转换为小写,然后将它们存储在数组中, 并通过比较字符串中每个字符的ASCII值来应用simple sorting algorithm bubble sort的略微修改版本来查找第一个字符。

char[] arr = word.toLowerCase().toCharArray();

// assume the smallest character is the character at index 0.
int first = 0;

// iterate through characters 1..n-1 to and check if any character is
// smaller than the one we have identified.
// if smaller, replace `first` with the index of the current character.
// at the end of the loop, `first` 
//will have the index of the smallest character.
for(int i = 1; i < arr.length; i++) {
    if(arr[i] < arr[first]) {
        first = i;
    }
}
System.out.println(word.charAt(first));

答案 2 :(得分:0)

世界末日的答案会起作用,但我个人会循环使用字母表来代替a-z,而是使用String.indexOf(currentCharacter)代替。这样您就不必存储或比较任何内容,只需在第一次indexOf返回-1以外的任何内容时突然退出循环。

答案 3 :(得分:0)

首先将字符串转换为Case“Lower”或upper并使用toCharArray()并迭代此数组直到string.length-1并将第一个char索引存储在temp变量中,并将char与char数组进行比较,如果发现char少于这个临时索引的char然后将此索引存储在char。

您可以在此处查看计划:Java program to find the first letter alphabetically in String