gpt4 book ai didi

java - 将字符串转换为 char 并按降序排序 (ascii)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:23 26 4
gpt4 key购买 nike

我正在创建一个程序,该程序将使用户输入整数(一个接一个),存储在数组中并按降序显示整数。该程序还要求用户输入一个字符串,使用 string.toCharArray() 将其转换为 char。我已经正确地按降序显示整数。问题是我不知道如何降序显示字符。

这是整数的代码:

for(i=0;i<nums.length;i++){
System.out.print("Enter value for index["+i+"] here --> ");
nums[i]=Integer.parseInt(br.readLine());}

while(pass<nums.length){
for(i=0;i<(nums.length-pass);i++){
if(nums[i]<nums[i+1]){
temp=nums[i];
nums[i]=nums[i+1];
nums[i+1]=temp;
}
}
pass++;
}
System.out.println("\n\nThe numbers when sorted descendingly are :\n");
for(i=0;i<nums.length;i++){
System.out.println(nums[i]);

这是要排列的字符串的代码。这是我遇到问题的地方。我在运行程序时没有错误,只是我不知道如何正确执行。

System.out.print("Input a string");
String strValue= br.readLine();
char[] chrValues;
chrValues=strValue.toCharArray( );

while(flag<chrValues.length){
for (c=0; c< (chrValues.length- flag); c++){
if(chrValues[c]<chrValues[i+1]){
tempo=chrValues[c];
chrValues[c]=chrValues[c+1];
chrValues[c+1]= tempo;}
}
}
flag++;
System.out.println("\n\nThe String when converted in character and sorted descendingly are :\n");
for(c=0;i<chrValues.length;c++){
System.out.println(chrValues[c]);}

对了,我用flag作为临时数组存储。

最佳答案

你已经有了内置的方法:-

    String str = "Rohit";
char[] arr = str.toCharArray();

System.out.println(arr);
Arrays.sort(arr); // Sort in Ascending order
System.out.println(arr);

对于降序,您可以定义一个 Comparator 并将其传递给 Arrays.sort() 方法..

您可以使用 Arrays#sortArrayUtils#toObject用于按降序排序..

这是它的工作原理:-

    String str = "Rohit";
char[] charArray = str.toCharArray();

Character[] myCharArr = ArrayUtils.toObject(charArray);

Arrays.sort(myCharArr, new Comparator<Character>() {

@Override
public int compare(Character char1, Character char2) {
return char2.compareTo(char1);
}
});

for (char val: myCharArr) {
System.out.print(val);
}

关于java - 将字符串转换为 char 并按降序排序 (ascii),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12800698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com