簡體   English   中英

如何僅使用 Java 中的 util.Scanner package 按字母順序對單個字符串進行排序?

[英]How to sort a single String in Alphabetic Order with only util.Scanner package in Java?

只允許import java.util.Scanner package。

如何在 Java 中按字母順序對單個字符串(它的字符)進行排序?

import java.util.Scanner;

public class Solution {

    static boolean isAnagram(String a, String b) {
        int i,j,k,l;
        char temp;
        // Complete the function
         a = a.toLowerCase();
         b = b.toLowerCase();
         char [] ca =a.toCharArray();
         char [] cb = b.toCharArray();
         for(i=0;i<=a.length()-1;i++){
            for(j=i+1;j<=a.length()-1;j++){
                if(ca[i]>ca[j]){
                    temp = ca[i];
                    ca[i]=ca[j];
                    ca[j]=temp;
                }
            }
         }
         for(k=0;k<=b.length()-1;k++){
             for(l=k+1;l<=b.length()-1;l++){
                if(cb[k]>cb[l]){
                    temp = cb[k];
                    cb[k]=cb[l];
                    cb[l]=temp;
                }
             }
         }
          a = String.valueOf(ca);
          b = String.valueOf(cb);
         if(a.equals(b)){
             return true;
         }
         else{
             return false;
         }         

    }

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        String a = scan.next();
        String b = scan.next();
        scan.close();
        boolean ret = isAnagram(a, b);
        System.out.println( (ret) ? "Anagrams" : "Not Anagrams" );
    }
}

這是我的代碼。 我試過這個。 但這種排序不起作用。 它實際上是 Anagram 的程序。

似乎你想在這里交換元素 i 和 j :

        if(ca[i]>ca[j]){
            temp = ca[0];
            ca[0]=ca[1];
            ca[1]=temp;
        }

但是您交換元素 0 和 1。

安裝 java 1.8 並使用其出色的功能,如下面的代碼所示。

    Scanner  scanner = new Scanner(System.in);
    System.out.println("Enter a string:" );
    String data  = scanner.next();

    data.chars().sorted().forEach( character -> { System.out.print((char)character); } 

(這僅使用掃描儀導入,沒有別的)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM