题目我以用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).
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).