为了账号安全,请及时绑定邮箱和手机立即绑定

求助,java入门这题关于从文件输入对象不知道怎么操作,没有思路啊……

package zuoye;

/*
 * 要求:
1、从fueltype.txt建立不同油品类型(对象动态数组)
2、从fuelcard.txt建立多张加油卡(对象动态数组)
3、实现简单的循环菜单显示,并实现存|充值、加油、显示卡信息、修改密码、更改车牌等功能
4、退出前,将加油卡信息存入fuelcard.txt中
 */

下面是原来的,要作修改。需要耐心,拜托看一下

import java.util.Scanner;

class FuelCard{
 String cardID;
 String carNumber;
    int cardPWD;
 Double chargeSum;
 Double cardBalance;
 FuelCard(String id,String number,int PWD,double sum,double balance) {
  cardID=id;
  carNumber=number;
  cardPWD=PWD;
  chargeSum=sum;
  cardBalance=balance;
  
 }
 void displayFuelCard() {
  System.out.println("卡号"+cardID);
  System.out.println("车牌号"+carNumber);
  System.out.println("密码"+cardPWD);
  System.out.println("充值总额"+chargeSum);
  System.out.println("账户余额"+cardBalance);
 }
 void chargeMoney(double money) {
  cardBalance+=money;
 }
 void chargeFuel(int sum,Object o ) {
  chargeSum+=sum;
  cardBalance-=((FuelPrice) o).fuelPrice*sum;
 }
 void changePWD(int PWD) {
  cardPWD=PWD;
 }
 void changeCarNumber(String number) {
  carNumber=number;
 }
}
class VIPcard extends FuelCard{
 int level;
 VIPcard(String id,String number,int PWD,double sum,double balance,int level) {
  super(id,number,PWD,sum,balance);
  this.level=level;
 }
 void chargeFuel(int sum,Object o ) {
  chargeSum+=sum;
  if(level==0) {
  cardBalance-=((FuelPrice) o).fuelPrice*sum;
  }else if(level==1) {
   cardBalance-=((FuelPrice) o).fuelPrice*sum*0.98;
  }else {
   cardBalance-=((FuelPrice) o).fuelPrice*sum*0.95;
  }
 }
}
class FuelPrice{
 String fuelType;
 double fuelPrice;
 FuelPrice(String type,double price) {
 fuelType=type;
 fuelPrice=price;}
}
public class FuelChargeDemo{
 public static void main(String[] args) {
  FuelPrice [] fp=new FuelPrice[4];
  fp[0]=new FuelPrice("G90",6.2);
  fp[1]=new FuelPrice("G93",6.5);
  fp[2]=new FuelPrice("G97",6.9);
  fp[3]=new FuelPrice("D0",6.0);
  VIPcard myFuelCard[]=new VIPcard [4];
  myFuelCard[0]= new VIPcard("201512120001", "山A66666",123456,1000,800,0);//分别是卡号,车牌,密码,油量,余额,等级
  myFuelCard[1]=new VIPcard("201512016666", "山A16816",654321,3000,2300,1);
  myFuelCard[2]=new VIPcard("201512023333", "山A93398",888888,5000,3800,2);
  myFuelCard[3]=new VIPcard("201512039999", "山A88066",999999,8000,6790,2);
  Scanner sc=new Scanner(System.in);
  System.out.println("输入索要查询的加油卡卡号");
  String id=sc.nextLine();
  int n=-1;
  for(int i=0;i<4;i++) {
   if(id.equals(myFuelCard[i].cardID))
    n=i;
  }
  if(n==-1)
   System.out.println("输入错误!");
  else
   while(true) {
    System.out.println("1.充值 ");
    System.out.println("2.加油");
    System.out.println("3.显示卡信息");
    System.out.println("4.修改密码");
    System.out.println("5.退出");
   switch(sc.nextInt()) {
   case 1:
    System.out.println("输入充值的金额");
    myFuelCard[n].chargeMoney(sc.nextDouble());
          break;
   case 2:
    System.out.println("输入要加的油的序号");
    int x=sc.nextInt();
    if(myFuelCard[n].cardBalance<fp[x].fuelPrice)
     System.out.println("余额不足不能加");
    else
     System.out.println("输入加油量");
    int sum=sc.nextInt();
    System.out.println("请输入要加的油");
    int f=sc.nextInt();
    myFuelCard[n].chargeFuel(sum,fp[f]);
    break;
   case 3:
    myFuelCard[n].displayFuelCard();
    break;
   case 4:
    System.out.println("输入新密码");
    myFuelCard[n].changePWD(sc.nextInt());
    break;
   case 5:
    System.exit(1);
   }
  
    
    
   }
  
 }
 
}
 

 


正在回答

举报

0/150
提交
取消

求助,java入门这题关于从文件输入对象不知道怎么操作,没有思路啊……

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信