奇数和偶数

时间:2014-03-22 23:49:42

标签: java

如何在一行显示所有的平均值以及下一行的所有赔率?需要显示25个整数。

public class OddsOrEvens
{
    public static void main(String[] args)
    {
        int[] numbers = new int[25]; 
        System.out.print ("EVENS & ODDS"); 
        for(int i=0; i < 25; i++)
        {
            numbers [i]  =  (int) (Math.random()*99) + 1;
            if(numbers[i]%2 == 0)
                System.out.println(numbers[i] +" " );
            else
                System.out.println(numbers[i] +" " );
         }
     }
} 

6 个答案:

答案 0 :(得分:5)

不要立即打印每个数字,而是考虑建立两个字符串(第一个由evens组成,第二个由几率组成)。然后在完成后打印结果字符串。这应该只需要一个循环。

答案 1 :(得分:2)

在您提供的代码中,您可以在处理时打印每个数字。如果您想要在一行中打印,那么一种可能的解决方案是您在某个数组中存储商店号,或者使用字符串而不是显示数字。 因此,在您的代码中,此行必须更改

System.out.println(numbers[i] +" ");
像这样

(如果你想将它们存储在字符串变量中)

even += numbers[i] +" ";

以及稍后当循环结束时,您可以逐个打印出这两行。 希望这会对你有所帮助

//Snippet 
if(numbers[i]%2 == 0)
    even += numbers[i] +" ";
else
    odd += numbers[i] +" ";
//after loops ends 
System.out.println(even);
System.out.println(odd);

答案 2 :(得分:0)

只需将所有事件保存在一个数组中,将所有事件保存在另一个数组中,然后单独打印。

答案 3 :(得分:0)

现在你正在单独打印它们。你可以做的是在for循环之前为odds声明一个String,为evens声明一个String。并将它们初始化为“”。然后在for循环而不是打印中,只需将数字[i]添加到字符串中并将它们打印在for循环之外

答案 4 :(得分:0)

或者......

阅读javadoc for PrintStream,'cos System.outPrintStream。看看可用的不同打印方法。

答案 5 :(得分:0)

创建一个字符串来保存它们,并在结尾处立即显示它们:

public class OddsOrEvens
{
    public static void main(String[] args)
    {
        int[] numbers = new int[25]; 

        String evens = "";
        String odds = "";

        System.out.print ("EVENS & ODDS");

        for(int i = 0; i < 25; i++)
        {
            numbers [i]  =  (int) (Math.random() * 99) + 1;
            if(numbers[i] % 2 == 0)
                evens += numbers[i] + " "; // save it to evens string
            else
                odds += numbers[i] + " "; // save it to odds string
         }

         // now print them
         System.out.println("Evens: " + evens);
         System.out.println("Odds: " + odds);
     }
}