《java程序设计》实验指导书(完整) 下载本文

XX学院java实验报告

} }

三、实验要求

1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。

实验六 异常处理

一、实验目的

1.熟悉异常的抛出与捕获的含义; 2.掌握异常捕获与处理的方法; 3.能自定义异常。 二、实验内容

现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。 程序框架如下,将代码补充完整:

import javax.swing.JOptionPane;

class 负分异常 extends Exception //当录入了负分时。此处应用了自定义异常 { }

class 高分异常 extends Exception //当录入分超过100时。应用了自定义异常 { }

public class ExceptionDemo {

负分异常(int i){

System.out.println(\分数为负数\); }

高分异常(int i ){

System.out.println(\分数过高\); }

static final int number=2; int score[]=new int[number];

public void 检查分数(int 分数) throws 负分异常,高分异常 //下面方法中判断如果录入的成绩不合{ if(分数 >100) throw new 高分异常(分数); //通过throw,人工抛出异常 if(分数 <0) throw new 负分异常(分数); }

public void 录入成绩()

13

理,则抛出异常,但本方法并不处理异常,仅声明了异常

XX学院java实验报告

{ int i;

for(i=0;i

score[i]=Integer.parseInt(JOptionPane.showInputDialog(\请输入第\+(i+1)

+\个同学的成绩\));

}catch(NumberFormatException e) //在try{…….}catch间的语句中若产生异常,则捕获

异常,直接进行异常处理 { } }

14

try{ 检查分数(score[i]); //在检查分数模块中,可能产生高分异常对象,也可能产生低分异}catch(高分异常 e){

System.out.println(e);

常对象,根据不同情况,进行不同处理

}catch(负分异常 e){

System.out.println(e);

}

}

}

public void 输出成绩() {

System.out.println(score[0]); System.out.println(score[1]);

}

public static void main(String arg[]) {

ExceptionDemo demo = new ExceptionDemo(); demo.录入成绩();

demo.输出成绩(); }

XX学院java实验报告

三、实验要求

1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。

实验七:图形用户界面设计(一)

一、 实验目的:

1. 巩固图形用户界面设计的方法 2. 掌握事件处理的设计方法 二、 实验内容:

1.绘制如下形式的图形界面,要求:窗体背景为蓝色,中间为黄色方格。

import java.awt.*; public class Test{ }

class F extends Frame{

public static void main(String args[]){ }

new F();

F(){

int x,y,w,h;

x = 200;y = 200;w = 200;h = 200; setBounds(x,y,w,h);

setBackground(Color.yellow); Panel p = new Panel();

p.setBounds(x/4,y/4,w/2,h/2); p.setBackground(Color.blue); setLayout(null);

15

XX学院java实验报告

} }

add(p);

setVisible(true);

2. 编写程序,绘制如下格式的界面:

import java.awt.*;

public class Test{

public static void main(String args[]){

Frame f = new Frame();

f.setLayout(new GridLayout(2,1)); f.setBounds(300,300,300,300);

Panel p1 = new Panel(new BorderLayout()); Panel p2 = new Panel(new BorderLayout()); Panel p11 = new Panel(new GridLayout(2,1)); Panel p21 = new Panel(new GridLayout(2,2)); p1.add(new Button(\),BorderLayout.WEST); p1.add(new Button(\),BorderLayout.EAST); p11.add(new Button(\)); p11.add(new Button(\)); p1.add(p11,BorderLayout.CENTER);

p2.add(new Button(\),BorderLayout.WEST); p2.add(new Button(\),BorderLayout.EAST); for(int i = 0;i<4;i++){

p21.add(new Button(\));

16