【发布时间】:2017-12-05 00:20:41
【问题描述】:
在下面的代码中,我尝试将 i 处的 char 与 i+1 处的 char 进行比较。我的理解是,通过使用 charAt(): 我可以从字符串中获取字符并将其视为整数并能够比较两个字符。这部分代码有效,但我认为我在代码中遗漏了一些东西,因此它没有打印所需的结果。除非这种对字符串中的字符进行排序的方式无效。
public class stringAlphabetical {
public static void main(String[] args){
String word="watch";
boolean swapped;
char temp = ' ';
do{
swapped = false;
for(int i=0;i<word.length()-1;i++){
char a = word.charAt(i);
char b = word.charAt(i+1);
if(word.charAt(i)>word.charAt(i+1)){ // if (a>b) {
temp = a;
a = b;
b = temp;
}
}
}while (swapped==true);
System.out.println(word);
}
}
【问题讨论】:
-
你避免数组的目的是什么?使用数组或
List等可变数据结构是执行排序等操作的预期方式。 -
另外,您永远不会更新
word的值,所以这段代码只是再次打印原始输入。
标签: java arrays string char alphabet