【问题标题】:How to let my output be decreasing and increasing order in digit(java)如何让我的输出以数字递减和递增顺序(java)
【发布时间】:2015-11-26 17:01:00
【问题描述】:

如果我输入 1324,3591

这意味着我想要更大的表示顺序。

int x = 1324;
int y = 3591;
System.out.println(x+y);

I want the output show:

4321 和 8531

【问题讨论】:

  • 请向我们展示您正在尝试的一些代码。
  • 将它们存储在一个数组中,并对其进行排序。
  • 你能给我举个例子吗:
  • 这个名单1234,1235,1589,1457,1489到底是怎么增加的???而4321,5321,9851,7541,9841 正在减少??
  • 我想我们都误解了你。我们认为您希望您的 numbers 减少和增加(即数组的元素按特定顺序排列),但您想要的是 per 数字对数字进行排序,对吧?在您的示例中,每个数组项都已排序,而不是数组本身。

标签: java for-loop


【解决方案1】:

创建两个函数,public int[] orderAsIncreasing(int input[])public int[] orderAsDecreasing(int input[])

然后,在输入中循环搜索最高值,并将其作为每个函数输出中的第一个/最后一个。从数组中删除该值。重复直到数组为空。然后返回结果

我不会发布代码,因为这看起来像是某种家庭作业。逻辑就在那里。现在,使用谷歌和文档来获取它的运营商。

【讨论】:

  • 但我使用 :Random r = new Random(); int x = r.nextInt(9999)+1;输入应该是随机数
  • 然后更改为您需要的内容...public int orderAsIncreasing(int input)。完毕。只是int s = orderAsIncreasing(r);
【解决方案2】:

我认为您应该将数字转换为字符串,然后再转换为字符数组。如果“号码”是您的号码,则类似于:

String numberAsString = String.valueOf(number);
char[] charArray = numberAsString.toCharArray();
Arrays.sort(charArray);
String newNumberAsString = new String(charArray);
int number2= Integer.valueOf(newNumberAsString);

【讨论】:

  • String numberAsString = String.valueOf(array); char[] charArray = numberAsString.toCharArray(); // 以相反的顺序 Arrays.sort(array); System.out.println(Arrays.asList()); System.out.println("降序:"); for (int i = array.length - 1; i >= 0; i--) System.out.printf(String.format("%04d ", numberAsString); System.out.println(); 它不能运行
  • 我添加了更多代码来说明我的观点。如果需要倒序,则必须使用不同的比较器进行排序。
  • 如果我想成为 5321 中的 1325 的递减顺序,我应该怎么做
  • 你必须实现你自己的比较器。见stackoverflow.com/questions/5393254/…
猜你喜欢
  • 2012-04-29
  • 1970-01-01
  • 2019-05-29
  • 2014-06-17
  • 2021-05-16
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多