太原理工大学java实验报告.doc

上传人:w****2 文档编号:6488038 上传时间:2020-02-27 格式:DOC 页数:29 大小:348KB
返回 下载 相关 举报
太原理工大学java实验报告.doc_第1页
第1页 / 共29页
太原理工大学java实验报告.doc_第2页
第2页 / 共29页
太原理工大学java实验报告.doc_第3页
第3页 / 共29页
点击查看更多>>
资源描述
本科实验报告课程名称: Java语言程序设计 实验项目: Java实验 实验地点: 致远楼 专业班级: 软件 学号:201500 学生姓名: 指导教师: 2017年 1月 实验1 Java语言基础1.实验目的(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。2.实验内容(1) 编写应用程序,计算100(含100)以内所有偶数的和。 package first;public class f1 public static void main(String s) int sum=0; for(int i=0;i=100;i=i+2) sum=sum+i; System.out.println(和为+sum); (2) 编写一个程序,求1-100间的素数。 package test1;public class f3 public static void main(String args) / TODO Auto-generated method stubSystem.out.println(100内的素数为:); loop: for (int i = 2; i 100; i+) for (int j = 2; j i; j+) if (i % j = 0) continue loop; System.out.print( + i); (3) 使用for循环语句,编写程序输出以下图案。package test1;public class f11 public static void main(String args) / TODO Auto-generated method stubfor (int i = 1; i = 4; i+) for (int k = 0; k = 4 - i; k+) System.out.print( );for (int j = 1; j 0; i-) for (int k = 0; k =4-i; k+) System.out.print( );for (int j = 1; j = 2 * i - 1; j+) System.out.print();System.out.println();3.实验预习(1) 复习本章所学内容。(2) 写出实验内容中第(2)、(3)题两个程序的源代码,作为预习报告。4.实验结论实验过程中,注意记录以下内容:(1) 遇到的问题及解决办法。 在编写星星程序时,不会它的算法,通过百度,然后自己试运行,得出了最后的结果。另外,在程序中遇到问题,积极的问了同学,解决了我的问题。(2) 实验体会。 我觉得在编写程序时,要细心并且要有耐心,认真的写每一个程序,就一定会有收获。实验2 数组和字符串编程1.实验目的(1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。(2) 较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。2.实验内容(1) 编写一个程序,在控制台输入10个数,按大小顺序输出。 package test1;import java.util.Arrays;import java.util.Scanner;public class f11 public static void main(String args) / TODO Auto-generated method stubint num=new int10;SuppressWarnings(resource)Scanner input =new Scanner(System.in);System.out.println(请输入数字:);for(int i=0;i10;i+)numi=input.nextInt();Arrays.sort(num); System.out.println(从小到大输出:);for(int index=0;indexnum.length;index+) System.out.println(numindex); (2)求一个3*3矩阵对角元素之和。package test1;import java.util.Arrays;import java.util.Scanner;public class f11 public static void main(String args) / TODO Auto-generated method stub SuppressWarnings(resource)Scanner in = new Scanner(System.in); System.out.println(请输入一个3*3矩阵:); int sum=0; int a=new int33; for(int i=0;i3;i+) for(int j=0;jb)return a;else return b;public Integer minNum(int a, int b) if(ab)return b;else return a;public static void main(String args)int a=6,b=2,c=10;question3 s=new question3();int temp=s.maxNum(a, b);int temp1=s.maxNum(temp, c);System.out.println(The MaxNum is+temp1);int temp2=s.minNum(a, b);int temp3=s.minNum(temp2, c);System.out.println(The MinNum is+temp3);(2) 编程实现以下简单超市管理,具体要求如下:1 实现描述超市的类SuperMacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果; package sssu;import java.util.ArrayList;import java.util.List;/* * 1、实现描述超市的的类Suppermacket类, * 记录系统中现有商品(Goods类), * 定义增加商品的函数Append, * 删除商品的函数Delete, * 查询商品的函数Query, * 并显示查询结果; * */public class SuperMarket private List goodsList = new ArrayList(); /* * 增加商品的 * param goods * return */ public String append(Goods goods) goodsList.add(goods); return 添加成功; /* * 删除商品 */ public String delete(String name) String flag = null; if(name = null) flag = 删除商品+name+不存在 ; else for (int i = 0; i goodsList.size(); i+) Goods goods = goodsList.get(i); if (goods.getName().equals(name) goodsList.remove(i); flag = 删除商品+name+成功; break; return flag; /* * 销售 * param goods * return */ public String sale(Goods goods) String flag = 销售商品+goods.getName()+失败; if (goods!=null) for (int i = 0; i goods_2.getNumber() flag+= 原因:库存不足; else if (goods_2.getPrice()*goods.getNumber() goods.getPrice() flag+= 原因:余额不足; else goods_2.setNumber(goods_2.getNumber()-goods.getNumber(); flag = 销售商品+goods.getName()+成功; break; return flag; /* * 查询商品 * return */ public List getGoodsList() return goodsList; public void setGoodsList(List goodsList) this.goodsList = goodsList; 2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 package sssu;/* * 具有商品名称Name, * 商品价格Price, * 商品数量number等属性, * 操作Sale(销售商品,余额不足时给予提示)、 * Add(商品上架操作) * 和ShowMe(显示商品信息)。 */public class Goods private String name; private float price; private int number; private String Producer; public String getName() return name; public void setName(String name) this.name = name; public float getPrice() return price; public void setPrice(float price) this.price = price; public int getNumber() return number; public void setNumber(int number) this.number = number; public void Producer(String i) this.Producer = i; public String Producer() / TODO Auto-generated method stub return Producer;3 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作提示: 超市货架可以使用商品数组,数组大小100表明存放100个商品。 注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。package sssu;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/* * 1、实现描述超市的的类Suppermacket类, 记录系统中现有商品(Goods类), 定义增加商品的函数Append, * 删除商品的函数Delete, 查询商品的函数Query, 并显示查询结果; * 2、定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 * 3、编写包含main方法的测试类,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。 */public class Test public static void main(String args) SuperMarket market = new SuperMarket(); SuppressWarnings(unused)String label = 商品名称, 商品价格, 商品数量 ; int type=-1 ; do System.out.println(=); System.out.println(请选择操作类型); System.out.println(1 添加商品); System.out.println(2 删除商品); System.out.println(3 查询商品); System.out.println(4 销售商品); System.out.println(0 退出系统); System.out.println(=); int i = 0; do try type = Integer.parseInt(readString(); i = 0; catch (Exception e) i = 1; System.err.println(输入有误); while (i != 0); switch (type) case 1: Goods goods = new Goods(); System.out.println(请输入商品名称); goods.setName(readString(); do try System.out.println(请输入商品价格); goods.setPrice(Integer.parseInt(readString(); i = 0; catch (Exception e) i = 1; System.err.println(输入有误); while (i != 0); do try System.out.println(请输入商品数量); goods.setNumber(Integer.parseInt(readString(); i = 0; catch (Exception e) i = 1; System.err.println(输入有误); while (i != 0); do try System.out.println(请输入商品产地); goods.Producer(readString(); i = 0; catch (Exception e) i = 1; System.err.println(输入有误); while (i != 0); System.out.println(market.append(goods); break; case 2: System.out.println(请输入要删除商品的名称); String name = readString(); System.out.println(market.delete(name); break; case 3: System.out.println(商品名称t商品价格t商品数量); for (int j = 0; j =0;i-) System.out.print(stri+ );编写程序,利用Java字符流文件输入/输出类,实现将源程序复制到另一个文件中。.package shiyan7;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class question3 public static void main(String args) throws IOException String infile = args1.toString(); / 输入文件String fileout = result.txt; / 输出路径try / 输出结果File f = new File(fileout);FileOutputStream fout = new FileOutputStream(f);BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fout);/ 输入文件BufferedReader br = null;File file = new File(infile);if (file.exists() FileInputStream fin = new FileInputStream(file);br = new BufferedReader(new InputStreamReader(fin);String str = br.readLine();int n = 0;while (str != null & !str.isEmpty() n+;str = br.readLine();bw.write(str + n);bw.flush();bw.close();br.close(); catch (Exception e) e.printStackTrace();(3)编写一个程序,比较两个文件的内容是否相同。 package shiyan7;import java.io.*;public class question4 public static void main(String args) InputStream file1; InputStream file2; byte buffer1; byte buffer2; int fileSize1 = 0; int fileSize2 = 0; try file1 = new FileInputStream(args0); file2 = new FileInputStream(args1); fileSize1 = file1.available(); fileSize2 = file2.available(); / read data from the files buffer1 = new bytefileSize1; buffer2 = new bytefileSize2; if (fileSize1 != fileSize2) System.out.println(The two files are different!); System.exit(0); file1.read(buffer1); file1.read(buffer2); int cursor = 0; while (cursor fileSize1) if (buffer1cursor != buffer2cursor) System.out.println(The two files are different!);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!