JAVA小问题,这里为什么除100啊?

Test.java
import java.applet.Applet;
import java.awt.Graphics;
public class Test extends Applet{
private final int left = 150;
private final int top = 100;

private final int a = 1;
private final int b = 1;
private final int c = 3;

@Override
public void paint(Graphics g)
{
g.drawLine(0, top, left*2, top);
g.drawLine(left, 0, left, top*2);
for(int x=0;x<100;x++)
{
int y1 = (a*x*x+b*x)/100+c;
int y2 = (a*(x+1)*(x+1)+b*(x+1))/100+c;
g.drawLine(left+x, top-y1, left+x+1, top-y2);
}
}
}
最后两行为什么除100啊?
二楼解释的很好,可是问题是:到底除不除100啊?

解释一:

本图为打印一元二次方程式的解的轨迹图形
其中方程式为: y= (a * X的平方 + b*X)/100 +C;
其中 a,b,c为常数;
打印图形区间为: 0~100;
g.drawLine(0, top, left*2, top); //这两句为绘制直角坐标轴
g.drawLine(left, 0, left, top*2);
for(int x=0;x<100;x++) //从区间 0~100 绘制线段。连成一条曲线
.....
//最后是一元二次方程的解

解释二:

//除以100可能还有另一个目的
目的二:
缩放图形大小为缩小100倍
这时是求方程式 : a*x的平方 +b*X + C 的解
由于是一元二次方程式,所以值求出来最大值可能会到大 1*100*100=10000
超出来屏幕范围,没有可读性,所以作者将其缩小100倍,从而可读。
但这程序应该在这里加上注解,否则会让人误解!!!

!!!!

补充, 一定要除以100 ,否则这图形就看不出来了,打出来的图形己经超出你的屏幕范围了。
这个程序的目的应该就是第二种解释,图形放小的目的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-30
去掉除100和不去掉有什么区别就知道了
相似回答