java实验报告

时间:2024.5.8

1. 企业自身分析

3.1 华为基本信息概述

java实验报告

java实验报告

java实验报告


第二篇:java实验报告三


西安郵電學院

《java编程及应用》课内实验报告

题 目: 异常类和多线程

院系名称: 继职学院

班 学号(8位): 3094202017

指导教师: 张 荣

设计起止时间: 20xx年5月 12日

一、设计目的

1.掌握java面向对象程序设计的基本过程,加深对java基本语法,方法的了解;

2、掌握java语言中异常类中捕获异常和定义自己的异常类

3、关于多线程:必须先了解多线程的概念,然后了解Thread类和Runnable接口。

二.设计内容

1.设计银行类中存钱和取钱时的异常处理。

2.随便选择两个城市作为预选旅游目标。实现两个线程分别显示10次城市名。每次显示后休眠一段时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口,和Thread类实现。

3·创建两个不同优先级的线程,都从1数到1000,看看哪个数得快。

三、设计与实现过程

1·设计银行类中,存钱与取钱时异常的处理机制

2·随便选择两个城市作为预选旅游目标,实现两个独立线程分别显示10次城市名,每次显示后休眠一段时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用runnable接口,和Thread类实现。

3·创建两个不同优先级的线程,都从1数到1000,看看哪个数得快。

四.测试数据及运行结果

1.

java实验报告三

2.

java实验报告三

3.

五.调试情况,设计技巧及体会

调试情况和心得体会

1·该设计总体上收获不小,对java有了更深的了解,实现了银行家算法的异常处理机制。和简单的多线程的编程,我觉得在编写代码方面还有待加强,在编写时应更加细心,仔细修改错误

2·在设计过程中对java语言基本语法还不够熟悉,如,继承类和接口的运用。还有一些构造方法的编写不太到位

3.在传递参数时弄得不太清楚,应当多读这方面的代码,增强编程能力。

六.附录:源代码(电子版)

1. 设计银行类中,存钱与取钱时异常的处理机制

public class SaveAndFetchMoney

{

public static void main(String[]args) { int num_of_save=20; int num_of_fetch=100; Thread[]thread=new Thread[num_of_save]; Thread[]thread1=new Thread[num_of_fetch]; Account t=new Account("007",10000); for(int i=0;i<num_of_save;i++) { thread[i]=new Thread(new thread[i].start(); SaveMoney(t,(float)Math.random()*1000)); } for(int i=0;i<num_of_fetch;i++) {

thread1[i]=new Thread(new thread1[i].start(); FetchMoney(t,(float)Math.random()*1000)); } for(int i=0;i<num_of_save;i++) { } for(int i=0;i<num_of_fetch;i++) { } try { thread1[i].join(); }catch(InterruptedException e) {e.printStackTrace();} try{ thread[i].join(); }catch(InterruptedException e) {e.printStackTrace();}

System.out.println("账号:"+t.accountName+"最终金额为:

"+t.balance);

}

class Account

{

{

System.out.print("账号:"+this.accountName+"余额为:"+this.balance); balance+=amount; String accountName; float balance; Account(String accountName, int value) { } this.accountName=accountName; this.balance=value; } public synchronized void add(float amount)

System.out.println("您存入:"+amount+"元后,现在金额为:"+this.balance); }

public synchronized void sub(float amount)

{

if (balance>=amount) {

System.out.print("账号:"+this.accountName+"余额为:

"+this.balance);

balance-=amount;

System.out.println("您取出:"+amount+"元后,现在金额为:

"+this.balance);

} else { System.out.println("账号:"+this.accountName+"余额为:

"+this.balance+"您要取出的金额为:"+amount+"余额不足!无法完成取款操作!"); }

}

}

class SaveMoney implements Runnable

{

{

Account a; float amount; FetchMoney(Account a,float amount) { } public void run() { try{ Thread.sleep((int)Math.random()*2000); this.a=a; this.amount=amount; Account a; float amount; SaveMoney(Account a,float amount) { } public void run() { } try{ Thread.sleep((int)Math.random()*2000); }catch (InterruptedException e) { e.printStackTrace(); System.out.println(e.toString()); this.a=a; this.amount=amount; } a.add(amount); class FetchMoney implements Runnable

}

} } }catch (InterruptedException e) { e.printStackTrace(); System.out.println(e.toString()); } a.sub(amount);

2·随便选择两个城市作为预选旅游目标,实现两个独立线程分别显示10次城市名,每次显示后休眠一段时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用runnable接口,和Thread类实现。

public class City extends Thread

{

}

public class City2 implements Runnable

{

private String name; public City2(String name) { this.name = name; private String name; public City(String name) { } public void run() { } int i=1; while(i<11) { } System.out.println("我最后真的下定决心决定去"+name); System.exit(0); System.out.println("我选择去"+name+"这是我第"+i+"次选择"); try { i++; Thread.sleep((int)(Math.random()*1000)); } catch (InterruptedException e) {} this.name = name;

} } public void run() { int i=1; while(i<11) { } System.out.println("我选择去"+name+"这是我的第"+i+"次选择"); try { Thread.sleep((int)(Math.random()*1000)); i++; } catch (InterruptedException e) {} System.out.println("我最后真的下决心决定去"+name); System.exit(0); }

public class demoC

{

} public static void main(String[] arg) { } choseCity thread1 = new choseCity("上海"); City2 c2 = new City2("深圳"); Thread thread2 = new Thread(c2); thread1.start(); thread2.start();

3·创建两个不同优先级的线程,都从1数到1000,看看哪个数得快。 public class hightThread extends Thread

{

public void run() { for(int i=1;i<=1000;i++) { System.out.println("高优先级线程数的数:"+i); if(i==1000) { System.out.println("高优先级线程已经把数数完了!"); }

} } }

public class demoThread

{

}

public class lowThread extends Thread {

} public void run() { } for(int i=1;i<=1000;i++) { } System.out.println("低优先级线程数的数:"+i); if(i==1000) { System.out.println("低优先级线程已经把数数完了!"); } public static void main(String[] arg) { } hightThread ht = new hightThread(); ht.setPriority(Thread.MAX_PRIORITY); lowThread t = new ht.start(); t.start(); lowThread(); t.setPriority(Thread.MIN_PRIORITY);

更多相关推荐:
java 实验报告 全

河南省高等教育自学考试实验报告册计算机及应用专业(本科段)《JAVA》姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位(实验室)意见:主考院校审核意见:河南科技大学自学考试办公室二零一零年x月实验一j…

五子棋Java实验报告

五子棋JAVA实验报告一实验目的和要求1能够用编程语言实现一个简单的五子棋程序2在实际系统中使用实现人工智能的相关算法3进一步加深对人工智能算法的理解二五子棋的基本常识与原理1五子棋的起源五子棋是一种两人对弈的...

java实验报告实验六Java图形用户界面

信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1实验目的1掌握图形用户界面基本组件2了解如何使用布局管理器对组件进行管理3掌握Java事件处理机制2实验内容实验题1编写一个模...

java上机实验心得体会报告

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间:20xx年x月x日版本:1.0.0指导教师:北京联合大学-信息学院编制实验…

Java实验报告

Java语言程序设计实验报告实验序号3一实验目的及要求1进一步熟练Java语法和常用方法的使用2进一步熟练Java程序结构3进一步提高算法设计与实现的能力4为后续章节的学习打下坚实的基础二实验设备环境实验室计算...

Java实验报告

JAVA课程标准实验报告学号1040501211姓名陈嘉生江苏科技大学计算机科学与工程学院基础部1实验一流程控制语句一实验目的1234二实验内容1安装开发环境JDK2编写一个JAVA应用程序在输出窗口显示quo...

java实验报告书3

浙江理工大学Java程序设计实验报告20xx20xx学年第二学期学院班级姓名学号任课教师信息学院11数字媒体技术2周咪咪20xx329700214宋瑾钰上课时间周二三四节数字媒体技术专业20xx年5月12345...

java实验报告4

广东工业大学实验报告学院专业班学号姓名成绩评定一实验目的1学习类的成员变量和成员方法的声明格式2学习java对象的创建和调用3学习参数传递4学习类的私有成员的定义访问方法已经共有成员的定义5理解类的构造方法构造...

Java实验报告1

Java实验报告

java实验报告11

实验报告20xx20xx学年第2学期课程名称JAVA程序设计实验名称字符串和正则表达式实验时间20xx年5月28日指导单位计算机学院软件学院软件工程系指导教师周莉学生姓名班级学号学院系计算机软件学专业计算机科学...

Java语言基础实验报告

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称Java语言基础实验学生姓名专业班级学号一实验目的和要求1掌握Java语言的基本数据类型字符串数组2掌握Java语言的运算符表达式语句3能够编写Jav...

java实验九

Java语言程序设计实验报告九张鑫20xx1225实验名称实验日期Java数据流编程指导教师电子商务班级电子商务1302李鸿儒专业姓名

java实验报告(30篇)