我需要帮助完成学校作业。我真的陷入困境,并试图在网上多个地方搜索无济于事。
嗯,这是问题。
public static double 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;
}
}
有谁能告诉我我做错了什么以及如何正确打印表格?谢谢。任何帮助将不胜感激。
答案 0 :(得分:1)
像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) );
}
答案 1 :(得分:0)
尝试使用它的功能
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");
}
}
答案 2 :(得分:-1)
狗,你需要的只是一些牙箍:
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;
}