实验报告□ 实践报告□
课程名称: Java语言程序设计
实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理 多线程编程、图形用户界面编程
实验、实践地点: 致向楼301
专业班级: 软件1531 学号:
学生姓名: 关玉芬
指导教师: 相洁
2017 年 1月8日
实验一 Java语言基础java switch case string | ||||
一、实验目的和要求 (1) 通过实验,掌握Java语言程序设计的基本方法。 (2) 学会Java语言中标示符的命名、运算符和表达式的应用。 (3) 熟练地掌握Java程序流程控制语句的应用。 | ||||
二、实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4. 有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5. 使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:① 若年号可以被4整除,而不能被100整除,则是闰年;② 若年号可以被400整除,也是闰年。 | ||||
三、主要仪器设备 使用的计算机惠普:硬件配置Win7、软件环境eclipse | ||||
四、实验代码 1. public class a1 { public static void main(String[] args) { int i,sum=0; for(i=0;i<=100;i++){ if(i%2==0) sum+=i;} Syst }} 2. public class a2 { public static void main(String[] args) { int i,a,b,c; for(i=100;i<=999;i++){ a=i%10; b=(i-a)%100/10; c=(i-b*10-a)/100; if(i==a*a*a+b*b*b+c*c*c){ }}}} 3. public class a3 {public static void main(String[] args) { // TODO Auto-generated method stub for(int i=2;i<=100;i++) { boolean t = false; for(int j=2;j<i;j++){ if(i%j==0){t=false;break;} else {t=true;}} 4. public class a4 {public static void main(String[] args) { int i,j; for(i=1;i<=4;i++){ for(j=1;j<=((-1)*i+4);j++) for(j=1;j<=(2*i-1);j++) ☆"); for(i=3;i>=1;i--){ for(j=1;j<=((-1)*i+4);j++) for(j=1;j<=(2*i-1);j++) ☆"); 5. import java.util.*; public class a5 { public static void main(String[] args) { Scanner x=new Scanner(System.in); int Int(); x.close();}} 6. package shiyan; public class a6 { public static void main(String[] args) { int i,j=0; for(i=1900;i<=2100;i++){ if((i%4==0)&&(i%100!=0)||(i%400==0)){ j++; if(j%5==0) else{ | ||||
五、实验结果 1. 2. 3. 4. 5. 6. | ||||
六、讨论、心得 初步掌握了Eclipse集成开发环境。? 掌握Java?基本数据类型、运算符与表达式、数组的使用方法,语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。、对JAVA程序设计有初步的了解 | ||||
实验二 数组和字符串编程 | ||||
一、实验目的和要求 (1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。 (2) 较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。 | ||||
2、实验内容 (1) 编写一个程序,在控制台输入10个数,按大小顺序输出。 (2) 求一个3*3矩阵对角元素之和。 (3) 输入一段字符串,统计其中有多少个单词。(单词用空格隔开) | ||||
三、主要仪器设备 使用的计算机惠普:硬件配置Win7、软件环境eclipse | ||||
四、实验代码 1、package a1; import java.io.*; public class a1 { public static void main(String[] args) throws IOException { int count=10,k; double data[]=new double[count]; Scanner sr = new Scanner(System.in); for(k=0;k<count;k++){ data[k]=sr.nextDouble(); } sr.close(); for(k=0;k<count;k++) Sys double[] dataCopy=new double[count+1]; double temp=0; System.arraycopy(data,0,dataCopy,1,data.length); for(k=1;k<count;k++) for(int j=1;j<=count-k;j++){ if(dataCopy[j]>dataCopy[j+1]){ temp=dataCopy[j]; dataCopy[j]=dataCopy[j+1]; dataCopy[j+1]=temp; } } for(int j=1;j<dataCopy.length;j++){ 2、 package a1; import java.io.*; public class a2 { public static void main(String[] args) throws IOException { double a[][]; int sum=0; a=new double[3][3]; Scanner sr = new Scanner(System.in); for(int i=0;i<3;i++) for(int j=0;j<3;j++){ a[i][j]=sr.nextDouble(); } sr.close(); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ if(i==j) sum+=a[i][j];}} 3、 package a1; import java.util.*; public class a3 { public static void main(String[] args){ Scanner sr=new Scanner(System.in); String word=new String(); Line(); String[] words=word.split(" "); int num=words.length; sr.close();}} | ||||
五、实验结果 1. . 2. 3. | ||||
六、实验心得 通过本次实验掌握数组的声明、分配空间及初始化;理解多维数组(重点掌?握二维)?;掌握?String?类的特点及常用方法的使用;掌握?StringBuffer?类的特?点及常用方法的使用;掌握?String?类和?StringBuffer?类的区别;掌握?equal?方法与==的区别;但是本次练习中,我也出现了一些错误,是由于知识上的失误?和不小心犯下的低级错误,但是我努力改正。 | ||||
实验三 Java面向对象程序设计 | ||||
一、实验目的和要求 掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。 | ||||
二、实验内容 1.创建一个复数类complex,以附属进行数学运算、复数具有如下格式:RealPart+ImaginaryRart*I ,其中,I为-1的平方根。 要求如下: ① 利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。 ② 提供两复数加、减、乘的运算方法。 ③ 按格式(a,b)打印复数。其中a为实部,b为虚部。 2. 创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。 3.编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。 4. 编程实现以下简单超市管理,具体要求如下: ① 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果; ② 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 ③ main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作 提示:① 超市货架可以使用商品数组,数组大小100表明存放100个商品。 ② 注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。 | ||||
三、主要仪器设备 使用的计算机惠普:硬件配置Win7、软件环境eclipse | ||||
四、实验代码 1. package a1; public class Complex { float RealPart; float ImaginaryRart; public Complex(){} public Complex(float R,float I){ RealPart=R; ImaginaryRart=I; } public static Complex add(Complex a,Complex b){ Complex c=new Complex(); c.RealPart=a.RealPart+b.RealPart; c.ImaginaryRart=a.ImaginaryRart+b.ImaginaryRart; return c; } public Complex minus(Complex a,Complex b){ Complex c=new Complex(); c.RealPart=a.RealPart-b.RealPart; c.ImaginaryRart=a.ImaginaryRart-b.ImaginaryRart; return c; } public Complex multiply(Complex a,Complex b){ Complex c=new Complex(); c.RealPart=a.RealPart*b.RealPart-a.ImaginaryRart*b.ImaginaryRart; c.ImaginaryRart=a.RealPart*b.ImaginaryRart+a.ImaginaryRart*b.RealPart;; return c; } public void print(){ } public static void main(String[] args){ Complex a = new Complex(1f,3f); Complex b = new Complex(3f,4f); Complex c = new Complex(); c = add(a,b); c.print(); }} 2. package shiyan; import java.util.*; class Account{ private double balance; Account(){ balance=5000; } public void deposit(double n){ balance=balance+n; } public void withdraw(double n){ balance=balance-n; } public void getbalance(){ } public static void main(String[] args) { Account c=new Account(); c.getbalance(); Scanner sc=new Scanner(System.in); double Double(); c.deposit(i); c.getbalance(); double Double(); c.withdraw(x);c.getbalance(); sc.close(); } } 3. package mymaths; public interface Myinterface { int max(int a,int b,int c); int min(int a,int b,int c); } class Zzr implements Myinterface{ public int max(int a,int b,int c){int temp; if(a<b) temp=b; else temp=a; if(temp>c) return temp; else return c;} public int min(int a,int b,int c){ int temp; if(a<b) temp=a; else temp=b; if(temp>c) return c; else return temp; }} package mymaths; public class interfaceTest { public static void main(String[] args) { int x,y; Zzr c=new Zzr(); x = c.min(3,5,8); y = c.max(6,8,9); }} 4. package a1; class Base{ public static Goods[] All = new Goods[2];//? public String name; public double price; public String producer; public int id,num; public void showMe(){ } public void showNum(){ class Goods extends Base{ public void sale(int n,double pay) throws Exc{ if(n>this.num){ throw new Exc(); } double money = pay-n*price; if(money<0){ } else{ this.num-=n;}} public void add(String name,int id,double price,String producer,int num){ this.name = name; this.price = price; this.producer = producer; this.id = id; this.num+=num; this.showMe(); All[id] = this;}} public class Supermarket extends Base { public void query(int id){ All[id].showMe();//why? } public void query(String name){ for(Goods g:All){ if(g.name==name){ g.showMe();}}} public void cheak(){ for(Goods g:All){ g.showNum();}} public static void main(String[] args){ // TODO Auto-generated method stub Goods sofa = new Goods(); sofa.add("sofa", 0, 1000, "太原", 20); Goods phone = new Goods(); phone.add("phone", 1, 16, "太原理工", 30); try{ sofa.sale(100,3000); } catch(Exc e){ } Supermarket s = new Supermarket(); s.cheak(); s.query(1); s.query(0); sofa.add("sofa", 0, 1000, "太原", 1); s.query("phone");}} class Exc extends Exception{ Exc(){ super("商品库存不足!");}} | ||||
五、实验结果 1. 2. 3. 4. | ||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论