1.设计一个图形接口,包括draw,erase两个方法
package com.ambow.java.Test2;
public interface T1Graphic {
void draw();
void erase();
}
2.设计一个圆,三角形,直线三种子图形,让其实现图形接口
package com.ambow.java.Test2;
public class T2Cycle implements T1Graphic{
@Override
public void draw() {
// TODO Auto-generated method stub
System.out.println("drawCycle");
}
@Override
public void erase() {
// TODO Auto-generated method stub
System.out.println("eraseCycle");
}
}
package com.ambow.java.Test2;
public class T2Link implements T1Graphic{
@Override
public void draw() {
// TODO Auto-generated method stub
System.out.println("drawLink");
}
@Override
public void erase() {
// TODO Auto-generated method stub
System.out.println("eraseLink");
}
}
package com.ambow.java.Test2;
public class T2Triangle implements T1Graphic{
@Override
public void draw() {
// TODO Auto-generated method stub
System.out.println("drawTriangle");
}
@Override
public void erase() {
// TODO Auto-generated method stub
System.out.println("eraseTriangle");
}
}
3.设计一个鼠标类,包含两个方法,一个是drawGraphic,
让其能接收任何一种图形,并完成画的行为;
另一个是eraseGraphic,让其能接收任何一种图形,并完成擦除的行为
package com.ambow.java.Test2;
public class T3Mouse {
public void drawGraphic(T1Graphic graphic) {
graphic.draw();
}
public void eraseGraphic(T1Graphic graphic) {
graphic.erase();
}
}
4.测试,用鼠标画一个图形,并擦拭。
package com.ambow.java.Test2;
public class T4GraphicTest {
public static void main(String[] args) {
T3Mouse mouse = new T3Mouse();
T2Cycle cycle = new T2Cycle();
mouse.drawGraphic(cycle);
mouse.eraseGraphic(cycle);
T2Link link = new T2Link();
mouse.drawGraphic(link);
mouse.eraseGraphic(link);
T2Triangle triangle = new T2Triangle();
mouse.drawGraphic(triangle);
mouse.eraseGraphic(triangle);
}
}
5.Public class Class1{
Public static void main(String[] args){
Try{
Int a[]={1,2,3};
System.out.println(“AAA”);
a[3]=5;
System.out.println(“BBB”);
}
Catch(ArithemeticException e){
System.out.println(“处理算术异常的catch块捕获了异常”);
System.out.println(“捕获的异常类型是”+e);
}
finally{
System.out.println(“异常处理完毕”);
System.out.println(“CCC”);
}
}
}
写出结果
package com.ambow.java.Test2;
public class T5 {
public static void main(String[] args){
try{
int a[]={1,2,3};
System.out.println("AAA");
a[3]=5;
System.out.println("BBB");
}
catch(Exception e){
System.out.println("处理算术异常的catch块捕获了异常");
System.out.println("捕获的异常类型是"+e);
}
finally{
System.out.println("异常处理完毕");
System.out.println("CCC");
}
}
}
//AAA
//处理算术异常的catch块捕获了异常
//捕获的异常类型是java.lang.ArrayIndexOutOfBoundsException: 3
//异常处理完毕
//CCC
6.从命令行接收一个数据,设法计算其阶乘的值. 要求使用异常处理以下情况:
当前数字不能是负数必须从命令行接收一个参数
package com.ambow.java.Test2;
import java.util.Scanner;
/**
* 自定义异常
* @author Administrator
*6.从命令行接收一个数据,设法计算其阶乘的值. 要求使用异常处理以下情况:
*当前数字不能是负数
*必须从命令行接收一个参数
*/
public class T6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("计算阶乘的值,请输入一个数:");
try {
int num = sc.nextInt();
System.out.println(num);
fun(num);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void fun(int num) throws Exception {
if (num < 0) {
throw new Exception("当前数字不能为负数!");
}
int sum = 1;
System.out.print(num + "! = ");
for (int i = 1; i <= num; i++) {
sum = sum * i;
}
System.out.println(sum);
}
}