java实验报告/异常处理/io流(浙江大学慕课瓮恺)

Java程序设计实验报告

 

 

 

 

 

 

 

 

 

一、实验内容

  1. 题目1

编写一个除法计算器,要求用户输入被除数和除数,程序给出商。要求程序健壮。

提示:0不能作除数,考虑ArithmeticException。

  1. 题目2

编写一个类,实现图片.jpg文件的复制

提示:图片文件的内容时二进制代码表示的,通过InputStream和OutputStream实现图片的复制。

 

二、实验运行结果

题目1

 

 

 

题目2:

待复制的图片:

 

复制后的结果图片:

 

三、程序源代码

题目1——Division类:

package summer;

import java.util.Scanner;

public class Division {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        //判断是否需要重新输入
        boolean contiue = true;
        
        //循环知道输入正确,并计算正确
        while (contiue)
        {
            //输入
            System.out.print("请输入被除数:");
            int number1 = input.nextInt();
            System.out.print("请输入除数:");
            int number2 = input.nextInt();
            
            //try-catch块捕捉异常
            try {
                int result = number1 / number2;
                System.out.println(number1 + "/" + number2 + "=" + result);
                contiue = false;//不需要再重新输入了,程序结束
            } catch (ArithmeticException ex) {
                System.out.println("您的输入有误,可能是除数你输入了0,请重新输入!");
            }
        }
    }
}

题目2——PictureCopy类:

 

package summer;


import java.io.FileInputStream;
        import java.io.FileOutputStream;
        import java.io.IOException;

public class PictureCopy {
    public static void main(String[] args) {
        FileInputStream fileInputStream = null;
        FileOutputStream fileOutputStream = null;

        //使用try-catch块完成图片复制,并处理异常
        try {
            //创建文件输入输出流
            fileInputStream=new FileInputStream("待复制的图片.jpg");
            fileOutputStream=new FileOutputStream("复制后的图片.jpg");
            int flag=0;

            while((flag=fileInputStream.read())!=-1){
                fileOutputStream.write(flag);
            }
            System.out.println("复制成功");
            
         /*异常处理*/    
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }finally{
            if(fileInputStream!=null){
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if(fileOutputStream!=null){
                try {
                    fileOutputStream.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}

 

猜你喜欢

转载自blog.csdn.net/qq_45768060/article/details/108022300