java - Java中简单的奇数和偶数排序与对齐

标签 java

我对 Java 还很陌生,因为我最近刚刚在类(class)中学习了这个主题。我仍然对如何将排序后的输入对齐到指定位置感到困惑。

例如您输入:1,2,3,4,5 输出将是所有奇数将在奇数文本/标题下对齐,然后所有偶数将落在偶数标题下。

这是我的代码:

     public static void main(String[] args) {
           int num;
           String odd="",even="",var, output="";

          for (int cntr = 0; cntr < 5; cntr++){
               var = JOptionPane.showInputDialog("Input Number: ");
               num = Integer.parseInt(var);

                if (num % 2 == 1)
                    odd = odd +"\n"+ String.valueOf(num);
                if (num % 2 == 0)
                    even = even+"\n"+ String.valueOf(num);

                  output = odd +"\t"+even;

              }
              System.out.print("Odd\tEven"+ output);

问题是,当您运行它时,输出是这样的,它被排序为顶部数字是奇数,然后底部数字是偶数,但它在奇数标题下对齐。

你能推荐什么?新成员来了。很高兴认识大家!

最佳答案

错误的方法,您正确区分奇数和偶数,但字符串不是按照所述打印它们的方式。你结束于:

odd = "1\n3\n5\n"
even = "2\n4\n"
output = "1\n3\n5\n\t2\n4\n"

也就是说,所有赔率数字(一个接着一个),a 选项卡,然后是偶数。

您需要以更结构化的方式存储数字;最好的选择是两个java.util.ArrayList<Integer> 。获得两个整数列表后,打印它们应该会更容易(对于第一行,打印第一个偶数、制表符,然后打印第一个奇数;不要忘记检查列表的大小是否不同)。

这还有一个额外的好处,如果明天呈现结果的方式发生变化,您无需更改将每个数字放入其列表中的逻辑(将业务逻辑与呈现/UI 解耦) )。

关于java - Java中简单的奇数和偶数排序与对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977074/

相关文章:

java - 如何使用map来减少Spring MVC Web应用程序中的对象创建?

java - 如何让按钮不被点击?

java - 对象映射,无法按索引访问 ArrayList 元素

Java 线程无法正确运行

java - .setSmallIcon 未更改通知图标

java - 根据输入进行切换并返回动态值

java - 根据在 ListView 中单击的项目位置执行 Activity 的线程

java - 正确的方法形式

java - 未找到变量,即使它位于上面的类中

java - 有没有办法在 RecyclerView 下添加按钮或任何内容