Java 编写一个方法来计算以下序列

Java 编写一个方法来计算以下序列,java,methods,Java,Methods,我在学校作业方面需要帮助。我真的被卡住了,试着在网上多个地方搜索,但都没有结果 好吧,问题来了 (求和级数)写一个方法 公共静态双m(int i) 要计算以下序列: 编写一个显示下表的测试程序: i m(i) __________________________________ 1 0.500

我在学校作业方面需要帮助。我真的被卡住了,试着在网上多个地方搜索,但都没有结果

好吧,问题来了

  • (求和级数)写一个方法
  • 公共静态双m(int i)
  • 要计算以下序列:
编写一个显示下表的测试程序:

i                                                    m(i)
__________________________________
1                                                   0.5000
2                                                   1.1667
...
19                                                  16.4023
20                                                  17.3546
我已经完成了这个方法,但我不知道如何打印表格。我问我的老师,很明显,这个方法本身不应该打印表格,这让我陷入了这个作业。我只打印了表格顶部的标签

以下是我目前的代码:

public class Assignment18 {
    public static void main(String args[]) {

        double value = 0;
        int i;
        System.out.println("i" + "\t\t" + "m(i)");
        System.out.println("-------------------");
    }

    public static double m(int i) {
        double sum = 0;
        for(i = 0; i < 21; i++)
            sum += (double) i / (i + 1); 
        System.out.println(i + "\t\t" + sum + "\n");
        return sum; 
    }
}    
公共类分配18{
公共静态void main(字符串参数[]){
双值=0;
int i;
System.out.println(“i”+“\t\t”+“m(i)”);
System.out.println(“------------------------”;
}
公共静态双m(int i){
双和=0;
对于(i=0;i<21;i++)
总和+=(双)i/(i+1);
System.out.println(i+“\t\t”+sum+“\n”);
回报金额;
}
}    

谁能告诉我我做错了什么,以及如何正确打印表格?非常感谢。任何帮助都将不胜感激。

狗,你只需要一些牙套:

public static double m(int i) 
{
    double sum = 0;
    for(i = 0; i < 21; i++)
    {
        sum += (double) i / (i + 1); 
        System.out.println(i + "\t\t" + sum + "\n");
    }
    return sum; 
}
公共静态双m(int i)
{
双和=0;
对于(i=0;i<21;i++)
{
总和+=(双)i/(i+1);
System.out.println(i+“\t\t”+sum+“\n”);
}
回报金额;
}
m(i)
这样的函数应该返回要求您计算的值。如果函数输出值,这称为副作用

然后,通过询问
m()
值,可以让代码的另一部分打印表格

System.out.println("i" + "\t\t" + "m(i)");
System.out.println("-------------------");

for (int i = 0; i < 20; i++) {
    System.out.println(""+ i + "\t\t" + m(i) );
}
System.out.println(“i”+“\t\t”+“m(i)”;
System.out.println(“------------------------”;
对于(int i=0;i<20;i++){
System.out.println(“+i+”\t\t“+m(i));
}

试着使用它的功能

public static void main(String args[]) {
        double value = 0;
        int i;
        System.out.println("i" + "\t\t" + "m(i)");
        System.out.println("-------------------"); 
        m(7);
    }

    public static void m(int i) {
        double sum = 0;
        for(i = 0; i < 21; i++){
            sum += (double) i / (i + 1); 
        System.out.println(i + "\t\t" + sum + "\n");
        }
    }
publicstaticvoidmain(字符串参数[]){
双值=0;
int i;
System.out.println(“i”+“\t\t”+“m(i)”);
System.out.println(“------------------------”;
m(7);
}
公共静态无效m(int i){
双和=0;
对于(i=0;i<21;i++){
总和+=(双)i/(i+1);
System.out.println(i+“\t\t”+sum+“\n”);
}
}

什么系列?显示求和公式你似乎没有在
main
Dog中调用
m
方法,问题是“方法本身不应该打印表格”。是的,Dog!;)我认为老师故意含糊其辞,是为了给这个家伙一个暗示,而不是给他完整的答案。是否存在无法在一种方法中打印和计算答案的明确条件?