Java奇数循环

时间:2014-03-06 02:02:43

标签: java loops

我正在尝试输出第一个“x”赔率,但我对如何在x的数字处停止循环毫无头绪。例如......如果输入6,我希望它显示1,3,5,7,9,11。但是,我的编码可以用于所有的赔率。

import java.util.Scanner;


public class OddNumber {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    System.out.println("Please input a number.");
    Scanner keyboard = new Scanner(System.in);
    int x = keyboard.nextInt();
    int total = x*x;
    if (x > 0){
        System.out.println("The first 5 odd numbers are...");
    }
    if (x > 0){
        for (int i = 0; i < total; i++){
        if (i % 2 != 0){
            System.out.println(i+"");
        }}
    System.out.println("The total is "+total);
    }

        }


}

7 个答案:

答案 0 :(得分:2)

这是最有效的(基于不寻常的要求):

var oddNumber = 1;
for (int i=0; i<x; i++) {
     System.out.println(oddNumber);
     oddNumber += 2;
}

答案 1 :(得分:1)

这样的事情应该有效:

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("Please input a number.");
        Scanner keyboard = new Scanner(System.in);
        int x = keyboard.nextInt();
        for(int i =1; i<=x*2; i++) {
            if (i%2!=0) {
                System.out.print(i+", ");
            }
        }
        keyboard.close();
}

答案 2 :(得分:0)

int total = x*2;

而不是

int total = x*x;

答案 3 :(得分:0)

对于你循环,你应该使用:

for (int i=0; i<x; i++) {
    System.out.println((i*2)+1);
}

答案 4 :(得分:0)

for循环更改为:

for (int i = 1; i <= x; i++){
    System.out.println(i * 2 - 1);
}

或替代方案:

for (int i = 1; i < x * 2; i = i + 2){
        System.out.println(i);
}

答案 5 :(得分:0)

你的if(i%2!= 0){

你可以通过几种方式解决这个问题。

之后,你可以:

 if (i != x){
    System.out.print(i+", ");
 }

或者,您可以:

 if (i % 2 && i != x){
    System.out.print(i+", ");
 }

将同时进行两项检查。

答案 6 :(得分:0)

对于奇数:

for(int i=0; i<number; i++)
   {
   i=i+1;

   System.out.println(i);
   }

对于偶数:

for(int i=1; i<number; i++)
   {
   i=i+1;

   System.out.println(i);
   }