您的位置:首页 > 其它

5.2 实验练习

2013-04-10 15:10 302 查看
5.2.3 接口回调

interface ComputerTotalSales{
public double totalSalesByYear();
}

class Televison implements ComputerTotalSales{
public double totalSalesByYear(){
return 10000;
}
}

class Computer implements ComputerTotalSales{
public double totalSalesByYear(){
return 20000;
}
}

class Mobile implements ComputerTotalSales{
public double totalSalesByYear(){
return 150000;
}
}

class Shop{
ComputerTotalSales[]goods;
double totalSales=0;
Shop(ComputerTotalSales[]goods){
this.goods=goods;
}
public double giveTotalSales(){
totalSales=0;
for(int i=0;i<goods.length;i++){
totalSales=totalSales+goods[i].totalSalesByYear();
}
return totalSales;
}
}

public class HappySale{
public static void main(String args[]){
ComputerTotalSales[]goods=new ComputerTotalSales[50];
for(int i=0;i<goods.length;i++){
if(i%3==0){
goods[i]=new Televison();
}
else if(i%3==1){
goods[i]=new Computer();
}
else if(i%3==2){
goods[i]=new Mobile();
}
}
Shop shop=new Shop(goods);
System.out.println("商品年销售额:"+shop.giveTotalSales());
}
}




5.2.4异常处理

class NoLowerLetter extends Exception{
public void print(){
System.out.printf("%c",'#');
}
}

class NoDigit extends Exception{
public void print(){
System.out.printf("%c",'*');
}
}

class People{
void printLetter(char c) throws NoLowerLetter{
if(c<'a'||c>'z'){
NoLowerLetter noLowerLetter=new NoLowerLetter();
throw(noLowerLetter);
}
else{
System.out.print(c);
}
}
void printDigit(char c) throws NoDigit{
if(c<'1'||c>'9'){
NoDigit noDigit=new NoDigit();
throw (noDigit);
}
else{
System.out.print(c);
}
}
}

public class ExceptionExample{
public static void main(String args[]){
People people=new People();
for(int i=0;i<128;i++){
try{
people.printLetter((char)i);
}
catch(NoLowerLetter e){
e.print();
}
}
for(int i=0;i<128;i++){
try{
people.printDigit((char)i);
}
catch(NoDigit e){
e.print();
}
}
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: