作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在JAVA中按降序对整数的数字进行排序,但不允许我使用任何数组。
这是我在类里面的作业,下面是我尝试过但失败的代码。
import java.util.Scanner;
class descend
{
public static void main(String args[])
{
int a=0,loc=0,parse=0,temp=0,big=0;
Scanner scan = new Scanner(System.in);
System.out.print("Enter a number");
a=scan.nextInt();
String s=Integer.toString(a);
int l=s.length();
for(int i=0;i<l;i++)
{
big=(int)(s.charAt(i));
loc=i;
for(int j=i+1;j<l;j++)
{
parse=(int)(s.charAt(j));
if(parse>big)
{
big = parse;
loc=j;
}
}
temp=parse;
s.charAt(i)=s.charAt(loc);
s.charAt(loc)=temp
}
System.out.print(s);
}
}
这里我在 s.charAt(i)=s.charAt(loc);
和 s.charAt(loc)=temp;
处遇到语法错误,变量是必需的,但已给出一个值。
请帮助我解决这个问题,我将永远感激你。
最佳答案
也许老师想测试你对新的流 API 的了解。或者他可能希望您测试一下您对 Collections.sort() 和 LinkedList(不包含内部数组)的了解。
1.) 这是一个使用流 API 的解决方案:
int number = 52214;
String.valueOf(number).chars()
.sorted()
.map(Character::getNumericValue).forEach(System.out::print);
这将打印出:
12245
2.) 这是一个集合解决方案:
List<Integer> list = new LinkedList<Integer>();
StringCharacterIterator iterator = new StringCharacterIterator(String.valueOf(number));
for (char c = iterator.first(); c != CharacterIterator.DONE; c = iterator.next())
{
list.add(Character.getNumericValue(c));
}
Collections.sort(list);
System.out.println("list=" + list);
这将打印出:
list=[1, 2, 2, 4, 5]
关于java - 在JAVA中,有没有办法对整数的数字进行排序而不需要任何数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55610006/
我是一名优秀的程序员,十分优秀!