簡體   English   中英

如何打印出三個數字(偶數和奇數)?

[英]How to print out each three number (for Even number and Odd number)?

我要打印輸出前三個偶數,前三個奇數后,第二個三偶數后,第二個三奇數后

{ Like 
Even Number 
0 
2 
4  
Odd Number 
1 
3 
5
Even Number 
6 
8 
10
Odd Number 
7 
9 
11 }

碼:

public class OddAndEven {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i;
    for(i=0;i<=50;i++){
        if(i%2==1){
            System.out.print("Odd Number "+i);
        }
        if(i%2==0){
            System.out.print("     ");
            System.out.println("Even Number "+i);
        }
    }

}

}

一種簡單的方法

    for(i=0;i<=50;i = i + 6){
        System.out.println("Even Number");
        logIt (i);
        logIt (i + 2);
        logIt (i + 4);

        System.out.println("Odd Number");
        logIt (i + 1);
        logIt (i + 3);
        logIt (i + 5);

    }

private void logIt (int i) {
   if (i <= 50) System.out.println(i);
}

嘗試這個 :-

public static void main(String str[]){



        final int step = 3;

        for (int s = 0; s < 50; s += step * 2) {

            System.out.println("Even number");
            for (int i = 0; i < step; i++) {
                int val=(s + i * 2);
                if(val<=50)
                System.out.println(val);
            }


            System.out.println("Odd number");
            for (int i = 0; i < step; i++) {
                int val=(s + i * 2 + 1);
                if(val<=50)
                System.out.println(val);
            }
        }
 }

輸出:

Even number
0
2
4
Odd number
1
3
5
Even number
6
8
10
Odd number
7
9
11
Even number
12
14
16
Odd number
13
15
17
Even number
18
20
22
Odd number
19
21
23
Even number
24
26
28
Odd number
25
27
29
Even number
30
32
34
Odd number
31
33
35
Even number
36
38
40
Odd number
37
39
41
Even number
42
44
46
Odd number
43
45
47
Even number
48
50
Odd number
49

希望對您有幫助。

希望您喜歡這個干凈的版本:

public static void main(String[] args) throws Exception {
    for (int value = 4; value <= 50; value += 4) {
        print(value++, "Even");
        print(value++, "Odd");
    }
}

private static void print(int value, String prefix) {
    System.out.println(prefix + " number");
    for (int diff = 4; diff >= 0; diff -= 2) System.out.println(value - diff);
}

生產者的另一種解決方案:

public static void main (String[] args) {

    OddEvenSequenceProducer producer = new OddEvenSequenceProducer();
    for (int i = 0; i < 50; i++) {
        System.out.println(producer.next());
    }
}

private static class OddEvenSequenceProducer {

    private final int step = 3;
    private int run;
    private int i;
    private boolean odd;

    public int next () {

        int value = (run * step + i++) * 2 + (odd ? 1 : 0);
        if (i == step) {
            i = 0;
            if (odd)
                run++;
            odd = !odd;
        }
        return value;
    }
}
public class TrazenjeBrojeva 
{
public static void main(String args[])
{
    int j=0, k=1;
    for(;k<50;)
    {
        for(int firstLoop=0;firstLoop<3;firstLoop++)
        {
            if((j%2)==0)
            {
                if(j>50)
                {
                    break;
                }
                System.out.println("Number is even: "+j);
                j+=2;

            }
        }

        for(int secondLoop=0;secondLoop<3;secondLoop++)
        {
            if(!((k%2)==0))
            {
                if(k>50)
                {
                    break;
                }
                System.out.println("Number is odd: "+k);
                k+=2;

            }
        }

    }
}
}

僅在if和for循環時有效

解:

final int step = 3;

for (int s = 0; s < 50; s += step * 2) {

    System.out.println("Even number");
    for (int i = 0; i < step; i++) {
        System.out.println(s + i * 2);
    }
    System.out.println("Odd number");
    for (int i = 0; i < step; i++) {
        System.out.println(s + i * 2 + 1);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM