[英]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.