100中的奇偶数分别是多少个?奇数:偶数=?:?
        要求:1,编写一个方法判断奇数和偶数的个数
              2,编写一个带参数的方法显示结果
          这应该是个很简单的题目了,但是小弟是个大菜鸟,弄了半天都没弄出来,:(   满地打滚,跪求实现代码!
/**
 *判断奇偶数的方法
 *
 */
public int judge(){
         int a=0;
         int b=0;
for(int i=0;i<100;i++){
             if(i%2==0){
                  a++;
                   return a;
              }else{
                  b++;
                   return b;
              }
     }
}
/**
 *显示结果的方法
 *
 */
public void rate(int a,int b){
      int rate=a/b;
      System.out.print("奇数:偶数"+"="+rate)
}
             做到这里,突然发现,该如何获得a和b的值呢?!懵了....

解决方案 »

  1.   

    .............
    1 - N 中 奇数个数为 (n - 1) / 2 + 1;
    偶数个数为 n / 2 嘛
      

  2.   


    public class demo {
    public static void main(String[] args) {
    Number number = new Number(100);
    System.out.println(number);
    }}class Number {
    int num;
    //奇数个数
    int oddNumberInRange;
    //偶数个数
    int evenNumberInRange; public Number(int num) {
    this.num = num;
    init();
    } private void init() {
    for(int i =0;i<num;i++){
    if(i%2==0) {
    evenNumberInRange++;
    continue;
    }
    oddNumberInRange++;
    }
    } public int getEvenNumberInRange() {
    return evenNumberInRange;
    }
    public int getOddNumberInRange() {
    return oddNumberInRange;
    }

    public String toString() {
    return "Number is:"+num+"  奇数个数:偶数个数="+oddNumberInRange+":"+evenNumberInRange ;
    }}
      

  3.   

    楼主代码错了
    public int judge(){
      int a=0;
      int b=0;
    for(int i=0;i<100;i++){
      if(i%2==0){
      a++;
      return a;
      }else{
      b++;
      return b;
      }
      }
    }
    你这里就返回一个 1 不会有别的返回值 
      

  4.   

    引用三楼的回复。if(n/2==0){
                        n/2个奇数和n/2个偶数。
                                   }
                      else{ 
                            n/2+1个奇数和n/2个偶数
                              }
    为什么要像你那样判断,你那样一个for的时间复杂度为O(n),像这样就只是O(1).呵呵,你觉得呢?
      

  5.   

    public void judge(){
    int a=0; //偶数个数
    int b=0; //奇数个数
        for(int i=0;i<=100;i++){
        if(i%2==0){
            a++;
                  }
        else{
              b++;
        }
        }
    }
      

  6.   

    楼上的,你这个没返回值的方法,而下个方法要用到你这个方法中的a和b的,你没返回值怎么用?而且在同一个类中,想用 对象名.a或对象名.b都不行....
      

  7.   

    public class T{
      public static void main(String[] args){
      int a = 0;
      int b = 0;
      
      for(int i=1;i<=100;i++){
        if(i%2==0){
           a++;
        }
        else{
           b++;
        }
      }
     
    //输出
      System.out.print("奇数="+a+"偶数="+b );
      
      }
    }
    结果
    奇数=50偶数=50希望对你有所帮助
      

  8.   

    /**
     *判断奇偶数的方法
     *
     */
    public int judge(BOOL j){
      int a=0;
      int b=0;
    for(int i=0;i<100;i++){
      if(i%2==0){
      a++;  }else{
      b++;  }
      if(j)
       return a;
      else
        return b;
        
      }
    }
    /**
     *显示结果的方法
     *
     */  System.out.print("奇数:"+"="+judge(ture))
      System.out.print("偶数:"+"="+judge(false))}这样行吗?