package X3DBuilder;
公司主营业务:成都网站设计、成都做网站、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出大邑县免费做网站回馈大家。
import java.io.*;
public class X3DCreator
{
public int xBins;
public int yBins;
public int i;
public int k;
public float min =0;
public float max = 0;
public double xSpacing;
public double zSpacing;
public double scalefactor;
public float[][] data;
public float[][] data2;
public float[] data1;
public X3DCreator() throws IOException
{
//导入文件test1513.data,并建立通向test1513.data的输入流
BufferedReader in = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("test1513.data")));
//从文件中读取第一行,并且将其格式化成数字xBins
xBins = Integer.parseInt(in.readLine());
//从文件中读取第二行,并且将其格式化成数字yBins
yBins = Integer.parseInt(in.readLine());
//算法,计算两数各自减一后的倒数
xSpacing = 1.0/(xBins-1);
zSpacing = 1.0/(yBins-1);
//将两数分别储存到数组data 中
data = new float[xBins][yBins];
//将两数的乘积储存到数组data1 中
data1 = new float[xBins*yBins];
//将两数分别储存到数组data2 中
data2 = new float[yBins][xBins];
for (i=0; ixBins; i++)
for (int j=0; jyBins; j++){
//继续从文件的第三行开始一行一行读取信息.并将读出的数据放在data中
data[i][j] = Float.parseFloat(in.readLine());
//通过多次循环比较获得数组data中的最大值并赋值给max
if (max data[i][j])
max = data[i][j];
//通过多次循环将二维数组data中的数据全部放置到数组data1中
data1[k]= data[i][j];
k=k+1;
}
//赋值max的倒数给scalefactor
scalefactor = 1.0/max;
//关闭读取文件的流对象
in.close();
//打印data1的第16 个元素
System.out.println(data1[16]);
//打印data所有元素的个数
System.out.println(k);
for (i=0; iyBins; i++)
for (int j=0; jxBins; j++){
//循环赋值
data2[i][j] = data1[j*yBins+i];
}
//创建写入文件test.x3d的流
BufferedWriter fout = new BufferedWriter(new FileWriter("test.x3d"));
//创建读取文件x3d1.txt的流
BufferedReader in2 = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("x3d1.txt")));
String inputLine;
while ((inputLine = in2.readLine()) != null) {
//fout.write(inputLine);
//一行一行把从文件x3d1.txt读取的字符串写入文件test.x3d。
fout.append(inputLine);
//写入一个行分隔符,也就是换行。
fout.newLine();
}
fout.newLine();
//下面应该是写入一些xml内容
fout.append("ElevationGrid height ='");
for (i=0; iyBins; i++)
for (int j=0; jxBins; j++)
{
// fout.append(" "+scalefactor*data2[i][j]+" ");
fout.append(" "+data2[i][j]+" ");
}
fout.append("'");
fout.append(" xDimension='" + xBins + " ' ");
fout.append(" xSpacing='" + xSpacing + " '");
fout.append(" zDimension='" + yBins + "' ");
fout.append(" zSpacing='" + zSpacing + "'/ ");
fout.newLine();
//关闭读取流
in2.close();
// BufferedWriter fout2 = new BufferedWriter(new FileWriter("test.svg",true));
BufferedReader in3 = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("x3d2.txt")));
String inputLine2;
while ((inputLine2 = in3.readLine()) != null) {
//继续将文件x3d2.txt的内容也写入到test.x3d中
fout.append(inputLine2);
fout.newLine();
}
//关闭读取文件流
in3.close();
//关闭写入文件流.
fout.close();
}
}
//结束
radious=radiousSlider.getValue(); //错误在此!你的radious没有定义吧。虽然已经在Cir类里面有过定义了但是在Circle 类里面它并不能识别Cir中的radious .若在radious前面添加一个int定义应该没有什么问题了:int radious=radiousSlider.getValue();
public static void main(String[] args) {
if(args.length0)
{
for(int i=0;iargs.length;i++)
{
System.out.println(args[i]);
}
}
else
{
return;
}
}