在java中做作业和重载

时间:2013-12-04 01:20:18

标签: java overloading

好的,这是我的家庭作业,我有一点时间弄清楚如何正确使用重载来允许打印出一定数量的术语。

“创建一个类,该类包含一个接受用户整数的方法,以下列模式显示接下来的5个术语:(n-7)* 3.

因此,如果用户输入5,则输出应为:

-6

-39

-138

-435

-1326

添加重载方法,以便用户可以输入他们想要在模式中打印出多少个术语:

因此,用户将输入5作为起始编号,输入3作为要在模式中打印的术语数。

输出结果为:

-6

-39

-435

添加显示公式的不同方法并为公式提供计算:(应从用户输入获取起始编号)并打印出接下来的5个术语。

(5-7)* 3 = -6

( - 6-7)* 3 = -39

( - 39-7)* 3 = -435

添加一个重载方法,该方法将公式和计算显示在公式中,并记录应打印的次数:(应从用户输入获得)。

例如:用户输入5作为起始编号并打印4次。

(5-7)* 3 = -6

( - 6-7)* 3 = -39

( - 39-7)* 3 = -435

( - 435-7)* 3 = -1326

具体细节:

您有一个包含所有方法的单独类。 你应该在这个类中有4个方法。 您的主要应该调用这四种方法来获取用户输入。  “

我不是要求任何人为我这样做,我只是希望在正确的方向上引导。 目前尝试收集主类中用户想要的术语数量,然后将其传递给Numberpattern类,然后从他们的程序中确定使用哪种Calc方法不起作用。

2 个答案:

答案 0 :(得分:2)

好吧,我为你做作业感觉很脏,但我会让你开始

第一种方法是

public void printPattern(int n){
    int prevAnswer = n; 
    for(int i =0; i < 5; i ++){
        int newAnswer = (prevAnswer - 7) * 3;    
        System.out.println(newAnswer);
        prevAnswer = newAnswer;
    }
}

第一个重载是

public void printPattern(int n, int c){ //this is the overload
    public void printPattern(int n){
    int prevAnswer = n; 
    for(int i =0; i < c; i ++){ // i < c to print that many numbers in the sequence
        int newAnswer = (prevAnswer - 7) * 3;    
        System.out.println(newAnswer);
        prevAnswer = newAnswer;
    }
}

要重载方法,只需提供不同的参数并编写扩展的新功能

答案 1 :(得分:0)

通过重载方法,您使用与不同参数列表相同的方法。这允许程序决定哪种方法最好只使用该方法名称的一次调用。

看起来你的第一个方法会有一个固定数字的循环,只有一个参数(n)。您的第二种方法将具有相同的名称,但现在允许两个参数 - (n)和循环次数。

public static void nextTerms(int n){    您的固定计数循环并打印出n个代码... }

public static void nextTerms(int n,int loopCount){    您可更改的loopCount计数循环并打印出n代码... }

要运行nextTerms方法,您的主类可以调用:

nextTerms(5);

nextTerms(5,3);

然后程序将决定两种nextTerms方法中的哪一种是合适的。

有关详细信息,建议您使用http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html

干杯! 克里斯