我正在尝试读取具有帐号和余额的文本文件。我正在读的帐号是一个字符串,余额是一个双,但是我得到的余额全为零,而不是实际值。
文件的外观如下:
package Bank;
import java.util.Scanner;
import java.io.printstream;
import ui.UIAuxiliaryMethods;
class Bank {
printstream out;
Bank() {
out = new printstream(System.out);
}
void readFileIn() {
Scanner fileScanner = UIAuxiliaryMethods.askUserForInput().getScanner();
while(fileScanner.hasnext()) {
String account = fileScanner.nextLine();
readLine(account);
}
}
void readLine(String account) {
String[] part1 = account.split(" ");
String account = part1[0];
String balance1 = part1[1];
Scanner Balance = new Scanner(balance1);
double balance = 0;
double count1 = 0;
while(Balance.hasnext()) {
balance += Balance.nextDouble();
count1++;
}
accounts line = new accounts(account,balance);
out.printf("%s %.2f \n",line.account,line.balance);
}
void start() {
readFileIn();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Bank().start();
}
}
package Bank;
class accounts {
String account;
double balance;
accounts(String account,double balance){
this.account = account;
this.balance = balance;
}
}
第二列是余额。
下面是我的代码,带有额外的类来存储带有余额的帐户:
0015 0,00
0020 0,00
0034 0,00
0069 0,00
0085 0,00
0091 0,00
0128 0,00
0129 0,00
0135 0,00
0189 0,00
我得到的结果如下:
package TaxWithMethods_70011855;
import java.util.Scanner;
public class TaxWithMethods_70011855 {
public static final double MPF_RATE = 0.05;
public static final double PERSONAL_ALLOWANCE = 120000;
public static final double TAX_RATE = 0.1;
public static void main(String[] args) {
double MI;
Scanner sc = new Scanner(System.in);
System.out.println("What is your monthly income?");
MI = sc.nextDouble();
double Income = Income(MI);
double Al= Allowance(Income);
double Tax = Tax(Income,Al);
System.out.println("Income: " + Income);
System.out.println("Allowances & Deductions: " + Al);
System.out.println("Tax: " + Tax);
}
public static double Income ( double MI ) {
double Income2 = MI*12;
return Income2;
}
public static double Allowance ( double Income) {
double Al = PERSONAL_ALLOWANCE + Income * MPF_RATE;
return Al;
}
public static double Tax ( double Income,double Al){
double tax = (Income - Al) * TAX_RATE;
return tax;
}
}
有什么办法可以解决这个问题,以便获得实际余额?