package ex_7_5;class buscard{
String name;
double balance;
buscard(String name,double balance){
this.name=name;
this.balance=balance;
}
}
class MyException extends Exception{
private String myString;
public MyException(String myString){
this.myString=myString;
}
public String getMyString(){
return myString;
}
@Override
public String toString(){
return myString;
}
}
public class ex_7_5 {
public static double slotcard(double x,buscard A){
if(A.balance-x<0)
throw new MyException("余额不足!刷卡失败!");//问题所在
else
return A.balance-x;
}
public static void main(String[] args){
buscard A=new buscard("Chen",0.5);//测试用到:0.5,1
double x;
x=1;
try{
A.balance=slotcard(x,A);
System.out.println("刷卡成功!余额为:"+A.balance);
}catch(Exception e){
System.out.println("异常:"+e.getMessage());
}
}
}
刚学到这里,编程中遇到了一些问题,求解决方案。

解决方案 »

  1.   

    public static double slotcard(double x,buscard A) throws Exception{
    if(A.balance-x<0)
    throw new MyException("余额不足!刷卡失败!");//问题所在
    else
    return A.balance-x;
    }
      

  2.   

    class MyException extends Exception{//出错:theserializable class MyException 
      //does not declare a static final serialVersionUID field of type long什么意思
     private String myString;
     public MyException(String myString){
     this.myString=myString;
     }
     public String getMyString(){
     return myString;
     }
     @Override
     public String toString(){
     return myString;
     }
    }
      

  3.   

    那不是错误吧,只是警告。告诉你实现了序列化借口,这里没有static final serialVersionUID 。