2015-09-20 1 views
-4

У меня есть текстовый файл, который имеет два столбца, один для номеров счетов, а другой для балансов. Я хотел бы попросить пользователя указать его номер счета и получить его баланс из текста. У меня есть методы, как депозит и снятие, которые я хочу применить к балансам пользователя, а затем обновить текстовый файл. Каков наилучший способ сделать это? Должен ли я использовать массив? или есть более простые способы сделать?как попросить пользователя ввести номер учетной записи, а затем вернуть свой баланс из текстового файла

Текстовый файл будет так

1001 50.67 
1002 500.32 
1003 63.63 
1004 953.53 
1005 735.22 
+0

«Должен ли я использовать массив?» Вы могли бы, но не обязательно. – Coderchu

+0

Вы можете использовать «карту» какого-то типа – MadProgrammer

+0

Существует много структур, которые вы можете использовать. Все они имеют разные затраты и выгоды, и только вы знаете проблемы и требования своей заявки. Пожалуйста, отредактируйте вопрос с более точными деталями, почему вам нужно использовать какую-либо структуру и какие у вас проблемы с ней. –

ответ

1

Использование массива не является практическим подходом к этой проблеме. Я сделал пример программы, которая делает это без массива. Для того, чтобы сделать этот пробег, убедитесь, что файл в вашем аккаунте имена BankAccounts.txt

import java.io.*; 
import java.util.*; 

public class BankAccount { 

    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     File dir = new File("BankAccounts.txt"); 
     System.out.println("Please enter your bank account number."); 
     String bankNumber = input.nextLine(); 
     input.close(); 
     System.out.println("Your Balance is: " 
       + balanceFromAccount(bankNumber, dir)); 
    } 

    public static String balanceFromAccount(String accountNumber, File file) { 
     String tempNumber = ""; 
     int i; 
     try { 
      BufferedReader br = new BufferedReader(new FileReader(file)); 

      String line = null; 
      while ((line = br.readLine()) != null) { 
       for (i = 0; line.charAt(i) != ' '; i++) { 
        tempNumber = tempNumber.concat(line.substring(i, i + 1)); 
       } 
       if (tempNumber.equals(accountNumber)) { 
        return line.substring(i + 1); 
       } 
       tempNumber = ""; 
      } 
      br.close(); 
     } catch (Exception e) { 

     } 
     return "Not Found!"; 

    } 

} 

Эта программа просто открывает файл, находит каждый номер банковского счета, чеки, если это желательно один, то он возвращает значение если это. Если нет, в нем говорится: «Не найдено!»

Смежные вопросы