作业链接:sp18 NBody
ac图
1.学到的知识点
I.类里面的常量定义
类比c++的const type关键字,在类内,java则用static final,本次作业中用的是
private static final G =6.67e-11
II.科学计数法的表示
对于科学计数法,比如6.67x10^(-11),后面的x10^(-11)写成e-11,AeN表示Ax10^N
正的指数1x10^7,则写成1e7。
III.标准输入库Std.in
用来读取文件,
1.构造函数初始化 In in = new In(parameter);
2.parameter传入文件路径,比如planets.txt
3.初始化完成后即可调用库函数,包括:
in.readInt() 读入整数
in.readDouble() 读入Double
in.readString() 读入String
4.注意读数据是从上到下一行一行依次读,比如
5
2.50e+11
1.4960e+11 0.0000e+00 0.0000e+00 2.9800e+04 5.9740e+24 earth.gif
2.2790e+11 0.0000e+00 0.0000e+00 2.4100e+04 6.4190e+23 mars.gif
5.7900e+10 0.0000e+00 0.0000e+00 4.7900e+04 3.3020e+23 mercury.gif
0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 1.9890e+30 sun.gif
1.0820e+11 0.0000e+00 0.0000e+00 3.5000e+04 4.8690e+24 venus.gif
第一行是整数,第二行是double,不能跳过读整数直接去读Double,也就是你必须首先定义一个变量
int first = in.readInt();
之后才能读Double,都是一一对应的。
IV 标准输出库StdOut
1.println()输出换行
2.print()输出不换行
3.printf()里面可以加格式,类似c语言printf()
4.printf() 最简单的形式有两个参数。第一个参数称为格式字符串。它包含一个转换规范,描述如何将第二个参数转换为字符串以供输出。
格式字符串以%开头, 以一个字母的转换代码结尾。下表总结了最常用的代码:
V StdDraw标准库
1.具体可查看Stanford Std Library
包含一些java的可视化绘图
比如StdDraw.picture(x,y,img);等等
2.开启Animation(动画效果)
StdDraw.enableDoubleBuffering();
之后所有画布上的内容都在offcanvas上进行,直到调用
StdDraw.show()才会显示在oncanvas上
擦除:StdDraw.clear();
暂停:StdDraw.pause(time);time单位为毫秒,填number
3.音频StdAudio
VI 构造函数的两种定义方法
比如有一个Dog类
public class Dog{
public String name;
public int age;
}
第一种构造函数
public Dog(String _name,int _age){
name=_name;
age=_age;
}
main里面调用是Dog mydog = new dog("funny",5);
第二种构造函数
public Dog(Dog d){
this(d.name,d.age);
}
第二种构造函数是直接传入一个类的实例,main里面调用是Dog d2=new Dog(d1);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。