Jak porovnávat řetězy seřazené abecedně v jazyce Java
Krok 1
Vytvořte dva řetězce v programu Java. Existující řetězce můžete použít, pokud nějaké existují, ale vytvořit dvě proměnné testovacích řetězců pomocí následující syntaxe: String firstWord = "bat"; Řetězec secondWord = "cat";
Obsah těchto řetězců můžete změnit, pokud si přejete. Každá obsahuje krátkou sérii znaků pro demonstraci. V každé z těchto proměnných můžete volat metody třídy řetězců.
Krok 2
Proveďte srovnání v řetězcích. Při porovnávání dvou řetězců zavolejte metodu "compareTo" jednoho řetězce a předáme druhou jako parametr. Metoda vrací celočíselnou hodnotu primitivního typu. Zavolejte metodu a uložte výsledek do proměnné takto:
int porovnání = firstWord.compareTo (secondWord);
Tato proměnná obsahuje zápornou hodnotu, pokud je první řetězec abecedně menší, pozitivní hodnota, pokud je druhý řetězec nižší v abecedním pořadí nebo hodnota nula, pokud jsou řetězce rovny.
Krok 3
Proveďte podmíněný test pro přizpůsobení procesu výsledku vašeho srovnání. Přidejte následující pokyny: if (comparison0) System.out.println ("druhé slovo je první v abecedním pořadí"); else System.out.println ("slova jsou stejná v abecedním pořadí");
Tento kód generuje jednoduchou zprávu podle výsledku porovnávací operace. Pokud první test vrátí skutečnou hodnotu, bude obsah oddílu "if" spuštěn a Java bude ignorovat další dva řádky. Pokud první test vrátí falešný výsledek Java, ignoruje obsah příkazu "if" a provede test "else if". Je-li tento test pravdivý, bude jeho obsah proveden. Pokud jsou obě testy nepravdivé, bude obsah příkazu "else" proveden s jediným možným stavem, že řetězce jsou stejné.
Krok 4
Proveďte své srovnání bez použití nabídek. Pokud chcete porovnání řetězců ignorovat znaky, použijte následující alternativní verzi metody: int comparison = firstWord.compareToIgnoreCase (secondWord);
Ve výchozím nastavení zpracovává Java velkými písmeny nejprve v abecedním pořadí v porovnání s abecedně na malá písmena. Například původní test následujících hodnot by znamenal, že druhý řetězec je první v abecedním pořadí: String firstWord = "bat"; Řetězec secondWord = "Hat";
Pokud chcete porovnávat jazyk Java pouze podle abecedního pořadí, použijte metodu, která ignoruje uvozovky.
Krok 5
Uložte soubor s kódem Java. Kompilujte a spusťte program a vyzkoušejte jej. Můžete přidat následující příkaz výstupu, abyste viděli celočíselnou hodnotu vyplývající z porovnávací operace na první pohled: System.out.println (porovnání);
Několikrát měňte hodnoty řetězce a několikrát spusťte program, abyste získali jasnou představu o tom, jak metody fungují.