java 的一道题目,在线等待!!!!
题目:
用户存款程序,其中利用自己编写的例外类,完成如下功能:
1。开户(至少存1元,否则例外处理)
2。存入(存入的金额要>0,否则例外处理)
3。取款(取款的金额要<存款的金额,否则例外处理)
4。最后退出。
我想问一下这个例外类是什么意思?是不是内部类。
问题点数:20、回复次数:5Top
1 楼hotenM(南京)回复于 2002-11-09 22:10:56 得分 5
Execetpion——异常Top
2 楼fastmask(我心烦)回复于 2002-11-09 22:11:24 得分 5
例外类就是异常类。他说得例外处理就是异常处理了,有c++的基础就会明白了Top
3 楼hotenM(南京)回复于 2002-11-09 22:11:51 得分 5
我想应该是要求你抛出异常把
throw new Exception("至少存1元");Top
4 楼mercury1231(为论文而拼搏,老板就是上帝)回复于 2002-11-10 02:45:58 得分 5
这里的例外类就是指需要你自己定义Exception,如果需要,就抛出你自定义的Exception , 跟内部类没什么关系。
不过我觉得这里的流程不用Exception Control可能更好Top
5 楼bobshi(JAVA&C++)回复于 2002-11-10 10:34:12 得分 0
题目我以用Exception做了,不过总是出错,大家可不可以帮我看看!!
import java.io.*;
class openException extends Exception
{
};
class depositException extends Exception
{
};
class fetchException extends Exception
{
};
class Deposit
{
private float depositmoney;
public void openanaccount(float n)
{
if(n<1)
{
throw new openException();
}
else
{
depositmoney=n;
}
}
public void deposit(float m)
{
if(m<0)
{
throw new depositException();
}
else
{
depositmoney+=m;
}
}
public void fetch(float x)
{
if(x>depositmoney)
{
throw new fetchException();
}
else
{
depositmoney-=x;
}
}
public void quit()
{
System.out.println("welcome come in!");
}
};
class depositTest
{
public static void main(String[] args) //throws Exception
{
Deposit a=new Deposit();
String openstr,depositstr,fetchstr;
BufferedReader openbr=new BufferedReader(new InputStreamReader(System.in));
BufferedReader depositbr=new BufferedReader(new InputStreamReader(System.in));
BufferedReader fetchbr=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.print("input open an accout money:");
openstr=openbr.readLine();
float openmoney=Integer.parseInt(openstr);
a.openanaccount(openmoney);
System.out.print("input deposit:");
depositstr=depositbr.readLine();
float dep=Integer.parseInt(depositstr);
a.deposit(dep);
System.out.print("input fetch:");
fetchstr=fetchbr.readLine();
float fet=Integer.parseInt(fetchstr);
a.fetch(fet);
}
catch(openException e1)
{
System.out.println("open an account of money can not less 1 yuan!");
}
catch(depositException e2)
{
System.out.println("deposit can not less 0 yuan!");
}
catch(fetchException e3)
{
System.out.println("fetch more than deposit");
}
finally
{
a.quit();
}
}
};
编译时提示:
---------- javac -d . ----------
depositTest.java:21: unreported exception openException; must be caught or declared to be thrown
throw new openException();
^
depositTest.java:32: unreported exception depositException; must be caught or declared to be thrown
throw new depositException();
^
depositTest.java:43: unreported exception fetchException; must be caught or declared to be thrown
throw new fetchException();
^
3 errors
Normal Termination
Output completed (2 sec consumed).Top




