改错,一个关于模式银行帐户功能的程序
import *;public class Eight
{
static long[] accountNumber=new long[3]; //帐号
static String[] name=new String[3]; //姓名
static String[] address=new String[3]; //地址
static float[] surplusAmount=new float[3]; //存款余额
static float min=1.0f; //最小余额
public void DataBase()
{
accountNumber[0]=622848651;
accountNumber[1]=965434813;
accountNumber[2]=615631931;
name [0]="张三";
name [1]="李四";
name [2]="阿毛";
address [0]="北京市宣武区右安门西街8号";
address [1]="上海市莫干山路93号";
address [2]="上海市中山北路3618号.银城大厦10F";
surplusAmount [0]=10450.0f;
surplusAmount [1]=300.0f;
surplusAmount [2]=9500.0f;
}
public static void main(String[] args)throws IOException
{
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
Order get=new Order();
String s; //用来确定所要操作命令
System.out.println("-----本 系 统 为 银 行 管 理 系 统-----");
System.out.println(" 请选择您要操作的选项 ");
System.out.println("存款请按'A'");
System.out.println("取款请按'B'");
System.out.println("查询请按'C'");
System.out.println("推出请按'D'");
System.out.println("---------------------------------------");
System.out.print("请输入操作命令:");
s=keyin.readLine();
int t=Integer.parseInt(s);
System.out.println("---------------------------------------");
if(t==1||t==2) //由于ASCII码转换未知,先用t来代替s
{
System.out.println("您选择的是存款模式");
get.Deposit();
}
else if(s=="b"||s=="B")
{
System.out.println("您选择的是取款模式");
get.WithdrawMoney();
}
else if(t==3||s=="C")
{
System.out.println("您选择的是查询模式");
get.Search();
}
else if(s=="d"||s=="D")
{
System.out.println("已退出系统!");
}
else
{
System.out.println("您输入的命令有误!");
}
}
}
class Order
{
static Eight out=new Eight();
static void Deposit()throws IOException //存款
{
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
String a,b;
int A,n=0;
long B;
System.out.print("请输入您的帐号:");
b=keyin.readLine();
B=Long.parseLong(b);
if(B<100000000||B>999999999)
System.out.println("指令错误!");
/*else if //有待修改
{
int i;
for(i=0;i<accountNumber.length;i++)
{
if(accountNumber[i]!=B)
}
}*/
else //错误所在处,无法求出n,其值输出为固定值3-----------------------------------错误所在处!
{
System.out.print("请输入您所需要的存款金额:");
a=keyin.readLine();
A=Integer.parseInt(a);
while(n<out.accountNumber.length)
{
if(out.accountNumber[n]==B)
break;
n++;
}
System.out.println(n);
}
}
static void WithdrawMoney() //取款
{
}
static void Search()throws IOException //查询
{
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
String Sc;
long SC;
System.out.print("请输入您的帐号:");
Sc=keyin.readLine();
SC=Integer.parseInt(Sc);
if(SC<100000000||SC>999999999)
System.out.println("指令错误!");
}
}
在Order类中的Deposit方法中第一的变量n,其值输出为固定值3,因此无法用n来确定数组,无法实现其他步骤,麻烦大家帮忙指出原因,多谢,在下JAVA初学
[[it] 本帖最后由 SD7436 于 2008-10-18 21:43 编辑 [/it]]