首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的升序数字

Java中的升序数字
EN

Stack Overflow用户
提问于 2018-09-19 04:12:45
回答 3查看 352关注 0票数 0

我在试着把数字按升序排列。当我进入控制台并输入一个数字时,数字会打印出来,但不是按升序排列的,只是我输入的数字in.What我做错了吗?

代码语言:javascript
复制
import java.util.*;
public class BigLittle{
   public static void main(String[]args){
      Scanner in=new Scanner(System.in);

      int a=0;
      int b=0;
      int c=0;

      System.out.print("Enter 3 Numbers");
      a=in.nextInt();
      b=in.nextInt();
      c=in.nextInt();

      if (a>b&&b>c)
         System.out.print(c);
      if (a>c) {
        System.out.print(b);
        System.out.print(a); 
      }

      if (b<a&&b<c)
        System.out.print(b);
      else {
        System.out.print(a);
        System.out.print(c);
      }
      if (c>a&&a<b)
         System.out.print(a);
      if (b<c){
         System.out.print(c+b+a);
      }
   }
}
EN

回答 3

Stack Overflow用户

发布于 2018-09-19 04:29:19

将输入的数字放入列表中,然后对列表进行排序:

代码语言:javascript
复制
    List<Integer> list = new ArrayList<>();

    Scanner in=new Scanner(System.in);

    System.out.print("Enter 3 Numbers: ");
    list.add(in.nextInt());
    list.add(in.nextInt());
    list.add(in.nextInt());

    Collections.sort(list);

    for ( Integer i : list )
    {
        System.out.println(i);
    }
票数 2
EN

Stack Overflow用户

发布于 2018-09-19 04:32:58

首先,如果c = 8b = 4a = 1 if将使用行System.out.print(c+b+a);打印13

此外,如果a=b=c不打印任何内容,或者a=bb=ca=c的任何组合,则存在一些未定义的打印。

如果你想要一个简单的架构,试着把一个数组或3个变量放入其中,然后只在计算结束时打印出来。

票数 0
EN

Stack Overflow用户

发布于 2018-09-19 06:58:06

对于三个不同的数字a, b, c,有6种可能的排列:

代码语言:javascript
复制
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

让我们首先使用a & b之间的关系将它们划分为2个集合

代码语言:javascript
复制
a < b 
    1 2 3
    1 3 2
    2 3 1    
a > b
    2 1 3
    3 1 2
    3 2 1

现在让我们通过考虑b & c之间的关系来进一步划分这两个集合

代码语言:javascript
复制
a < b 
  b < c
    1 2 3
  b > c
    1 3 2
    2 3 1    
a > b
  b < c
    2 1 3
    3 1 2
  b > c
    3 2 1

我们看到,在(a < b and b < c)(a > b and b > c)的情况下,我们可以唯一地确定顺序。对于其余情况,我们需要考虑a & c之间的关系

代码语言:javascript
复制
a < b 
  b < c
    1 2 3
  b > c
    a < c
      1 3 2
    a > c
      2 3 1    
a > b
  b < c
    a < c
      2 1 3
    a > c
      3 1 2        
  b > c
    3 2 1

由此,我们可以开发以下伪代码:

代码语言:javascript
复制
if a < b
  if b < c
    order: a b c
  else 
    if a < c
      order: a c b
    else
      order: c a b
else
  if b < c
    if a < c
      order: b a c
    else
      order: b c a
  else
    order: c b a

您应该能够将其转换为Java代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52393970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档