欢迎来到天天文库
浏览记录
ID:59339418
大小:75.50 KB
页数:6页
时间:2020-09-04
《砝码称重问题算法设计实验3-1.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法设计与分析实验报告实验名称实验1-2砝码称重问题学院专业班级学号0姓名任课教师实验时间2012/10/291实验内容对于给定的n种不同砝码,编程计算它们可以称出多少种不同的重量。2实验环境a)数据输入zhanghaiyanginput.txtb)数据输出.txtc)编程环境环境:Eclipse3.1语言:Java1算法设计算法分析,算法流程(关键算法必须有),设计内容(类结构设计)2程序说明importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFound
2、Exception;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;publicclassFangMa{publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{intsum[];//初始化称法数组intf[][];//二维数组,第一行存放砝码重量第二行放个数f=newint[3][3];intline=1;//文本读取的行控制变量intn=0;//砝码种数
3、ints=0;//表识可称出的一种称法inta=0,b=0,c=0,count=0;//循环变量和称法总数try{FileInputStreamfile=newFileInputStream("D:/data/zhanghaiyanginput.txt");//创建文本输入流对象BufferedReaderw=newBufferedReader(newInputStreamReader(file));//读取数据流缓存区间StringtempString=null;//存放每行读出的字符串while((tempString=w.readLine())!=null
4、){if(line==1){n=Integer.parseInt(tempString);//读出第一行的字符并转换成砝码种数}if(line==2){Stringstr[]=tempString.split(",");//安“,”将字符串划分成字符数组元素for(inti=0;i5、rseInt(str[i]);}}line++;}}catch(FileNotFoundExceptione){}sum=newint[20];for(a=0;a<=f[1][0];a++){for(b=0;b<=f[1][1];b++){for(c=0;c<=f[1][2];c++){s=a*f[0][0]+b*f[0][1]+c*f[0][2];//计算称法sum[s]=s;}}}for(intj=0;j<20;j++){if(sum[j]!=0){count++;}}try{FileWriterw=newFileWriter("D:/data/zhangh6、aiyangoutput.txt");//创建输出文件w.write("共有"+count+"种称法");w.close();}catch(Exceptione){}}}importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;publicclassFangMa{pub7、licstaticvoidmain(String[]args)throwsNumberFormatException,IOException{intsum[];//初始化称法数组intf[][];//二维数组,第一行存放砝码重量第二行放个数f=newint[3][3];intline=1;//文本读取的行控制变量intn=0;//砝码种数ints=0;//表识可称出的一种称法inta=0,b=0,c=0,count=0;//循环变量和称法总数try{FileInputStreamfile=newFileInputStream("D:/data/zhanghaiy8、anginput.txt
5、rseInt(str[i]);}}line++;}}catch(FileNotFoundExceptione){}sum=newint[20];for(a=0;a<=f[1][0];a++){for(b=0;b<=f[1][1];b++){for(c=0;c<=f[1][2];c++){s=a*f[0][0]+b*f[0][1]+c*f[0][2];//计算称法sum[s]=s;}}}for(intj=0;j<20;j++){if(sum[j]!=0){count++;}}try{FileWriterw=newFileWriter("D:/data/zhangh
6、aiyangoutput.txt");//创建输出文件w.write("共有"+count+"种称法");w.close();}catch(Exceptione){}}}importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;publicclassFangMa{pub
7、licstaticvoidmain(String[]args)throwsNumberFormatException,IOException{intsum[];//初始化称法数组intf[][];//二维数组,第一行存放砝码重量第二行放个数f=newint[3][3];intline=1;//文本读取的行控制变量intn=0;//砝码种数ints=0;//表识可称出的一种称法inta=0,b=0,c=0,count=0;//循环变量和称法总数try{FileInputStreamfile=newFileInputStream("D:/data/zhanghaiy
8、anginput.txt
此文档下载收益归作者所有