Dr.Java增加

时间:2014-04-16 19:28:32

标签: java

写一个带有两个整数的RECURSIVE方法'countToBy' 参数n和m,并产生指示如何的输出 以m为增量计数到n。

例如,要计数到10乘1,你会说:countToBy(10,1); 应产生以下输出:      1,2,3,4,5,6,7,8,9,10

增量不必为1.例如, 以下呼叫表示我们想要计入25英寸 增量4:countToBy(25,4); 产生这个输出:      1,5,9,13,17,21,25


我的代码是:

import java.util.*;
import java.io.*;

public class CountBy {

  public static void main(String[] args) { 
    countToBy(34, 5);
    System.out.println(); 
    countToBy(3, 6);
    System.out.println(); 
    countToBy(17, 3);
    System.out.println(); 
  }

  // *** Your printSorted method goes here ***
  public static void countToBy(int max, int var){
    if (max < var)
      System.out.print("Error, max value too low or skip value too high.");
      else{
        for (int x = var-1; x<=max; x = x + var){
          System.out.print(x + ", ");
}
    }
}
}

这很有效,但我觉得我错过了一些东西......任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

只是为了让您了解如何编写这样的递归方法:

public static void method(int x, int y){
        if(x<y) return;
        method(x-1, y);
        System.out.print(x + " ");      
}

此方法打印从yx的数字序列。因此,对于method(20,10);,它会打印出来:10 11 12 13 14 15 16 17 18 19 20

答案 1 :(得分:0)

public class test {
void counttoby(int n,int m,int aff){
    if(aff==n) System.out.println(n);
    else{
        if(n<aff) System.out.println("error");
        else{
        counttoby(n,m,aff+m);
        System.out.println(aff);
        }
    }
}
public static void main(String[] args) {
    test t= new test();
    t.counttoby(10, 1,1);

}

}

试试这段代码好吗