填写测试代码:(黑体部分)
package compoundinterestagent;
import java.io.*;
import javax.naming.*;
import java.util.Properties;
import javax.rmi.PortableRemoteObject;
import java.rmi.RemoteException;
public class CompoundInterestAgentTestClient
{
private static final String ERROR_NULL_REMOTE = "Remote interface reference is null. It must be created by calling one of the Home interface methods first.";
private static final int MAX_OUTPUT_LINE_LENGTH = 100;
private boolean logging = true;
private CompoundInterestAgentHome compoundInterestAgentHome = null;
private CompoundInterestAgent compoundInterestAgent = null;
private static BufferedReader in;
..................
private static String getInputString(String prompt)throws IOException
{
System.out.println(prompt);
return in.readLine();
}
//Main method
public static void main(String[] args)
{
CompoundInterestAgentTestClient client = new CompoundInterestAgentTestClient();
CompoundInterestAgent agent;
boolean valid;
String answer;
double tmpDbl=0.0;
int tmpInt=0;
in = new BufferedReader(new InputStreamReader(System.in));
try
{
agent=client.create();
System.out.println("\nWelcome to the Compound Interest Calculation:");
do
{
answer=getInputString("Enter a starting balance:$ ");
try
{
tmpDbl=Double.parseDouble(answer);
agent.setStartingBalance(tmpDbl);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
do
{
System.out.println("How often will the interest compound? ");
answer=getInputString("(1)monthly,(2)querterly,(3)semi_annually ");
try
{
tmpInt=Integer.parseInt(answer);
if(tmpInt>3)
throw new NumberFormatException();
agent.setFrequency(tmpInt);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
do
{
System.out.println("How much will you be contributing ");
switch(tmpInt)
{
case 1:
answer=getInputString("each month?");
break;
case 2:
answer=getInputString("each quarter?");
break;
case 3:
answer=getInputString("every six month?");
break;
}
try
{
tmpDbl=Double.parseDouble(answer);
agent.setContribution(tmpDbl);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
do
{
answer=getInputString("What is the ammount's annual yield? ");
try
{
tmpDbl=Double.parseDouble(answer);
agent.setAnnualYield(tmpDbl);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
do
{
answer=getInputString("How many years will you maintain this account?");
try
{
tmpInt=Integer.parseInt(answer);
agent.setTime(tmpInt);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
do
{
answer=getInputString("What rate of inflation rate are you anticipating? ");
try
{
tmpDbl=Double.parseDouble(answer);
agent.setInflation(tmpDbl);
valid=true;
}catch(NumberFormatException nfe)
{
System.out.println("Invalid Entry!");
valid=false;
}
}while(valid==false);
tmpDbl=agent.calculateReturn();
System.out.println("The return on this account would be $ "+tmpDbl);
}catch(RemoteException re)
{
re.printStackTrace();
}catch(IOException ioe)
{
ioe.printStackTrace();
}catch(Exception e)
{
e.printStackTrace();
}
}
}