Java静态变量static 的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:21:40
class Bank
{
public static float total;
public static float take[];
public static float input[];
public static int i;
public static int j;
void deposit() throws IOException
{
System.out.println("请输入您要存多少钱");
BufferedReader save=new BufferedReader(new InputStreamReader

(System.in));
input[i]=Float.parseFloat(save.readLine());
System.out.println("您已成功存入"+input[i]+"元钱");
i=i+1;
}
void take() throws IOException
{
System.out.println("请输入您要取多少钱");
BufferedReader tak=new BufferedReader(new InputStreamReader

(System.in));
take[j]=Float.parseFloat(tak.readLine());
System.out.println("您已成功取出"+take[j]+"元钱");
j=j+1;
}
void display() throws IOException
{
for(int m=0 ;m<=i;m++)
{
total=total+inpu

改下display()就ok了:(两个地方)
void display() throws IOException
{
System.out.println("您帐户上还有"+i+"元钱");
for(int m=0 ;m<=i;m++)
{
total=total+input[m]; //此处i改为m
}
for(int k=0;k<=j;k++)
{
total=total-take[k]; //此处改为k
}
System.out.println("您帐户上还有"+total+"元钱");
}

不是静态变量的问题

你在每次存钱(取钱也是一样)的时候,结束之后 会有i=i+1;
那么此时的take[i]已经是0了

另外在show函数里循环 完全不知道你要干什么,而且循环完全是在做无用功

修改如下:

package com.lnu.mypac;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Bank {

public static float total;
public static float take[];
public static float input[];
public static int i;
public static int j;

void deposit() throws IOException {
System.out.println("请输入您要存多少钱");
BufferedReader save = new Buff