实验报告□    实践报告□
课程名称:    Java语言程序设计                     
实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理 多线程编程、图形用户界面编程                     
实验、实践地点:      致向楼301                 
专业班级:  软件1531  学号:
学生姓名:          关玉芬           
指导教师:          相洁               
              2017 18
实验一  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      1x<10
        4x        x10
  写一程序,给定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
四、实验代码
1package 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小时内删除。