Java程序设计实验报告
- 题目1
编写一个除法计算器,要求用户输入被除数和除数,程序给出商。要求程序健壮。
提示:0不能作除数,考虑ArithmeticException。
- 题目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();
}
}
}
}
}