Read client data to creat an array of ClientRecord in the order customer name
import java.io.*;
import java.util.*;
public class ReadClientDataToRecord {
static class ClientData {
String clientName;
String clientAddress;
char trxCode;
double trxAmount;
ClientData (String clientName, String clientAddress,
char trxCode, double trxAmount){
this.clientName=clientName;
this.clientAddress=clientAddress;
this.trxCode=trxCode;
this.trxAmount=trxAmount;
}
public String toString() {
return(clientName + " " +
clientAddress + " " +
trxCode + " " +
trxAmount);
}
}
public static void main(String[] args) throws IOException {
ClientRecord[] clients = new ClientRecord[10];
String text;
ClientData clientData;
int count = 0;
BufferedReader fileIn;
fileIn = new BufferedReader(new FileReader("client.dat"));
while ( ( text = fileIn.readLine() ) != null ) {
StringTokenizer st = new StringTokenizer(text, "_");
String clientName = st.nextToken();
String clientAddress= st.nextToken();
char trxCode= st.nextToken().charAt(0);
double trxAmount= Double.parseDouble(st.nextToken());
clientData = new ClientData(clientName,
clientAddress,
trxCode,
trxAmount);
System.out.println(count + " " + clientData.toString());
clients[count++] = new ClientRecord(clientName,clientAddress,trxAmount);
}
System.out.println();
sorting(clients,count);
for (int i = 0; i < count; i++)
System.out.println(clients[i].toString());
fileIn.close();
}
public static void sorting(ClientRecord[] a,int size) {
for (int i = 0; i < size-1; i++)
for (int j = size-1; i < j; j--) {
if (a[j-1].clientName.compareTo(a[j].clientName) > 0) {
ClientRecord temp = a[j-1];
a[j-1] = a[j];
a[j] = temp;
}
}
}
}