Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main
- {
- public static void main(String[] args)
- {
- /*
- Scanner in = new Scanner(System.in);
- double t = 0;
- Account a[] = new Account[20];
- for (int i = 0; i<20; i++){
- a[i] = new Account(in.nextLine(), (int)(Math.random()*1001.0));
- t += a[i].getBalance();
- }
- double avg = t/20;
- for (int i = 0; i<20; i++){
- if(a[i].getBalance()>avg){
- System.out.println(a[i].toString());
- }
- }
- */
- Account b = new Account("yo",100);
- Account c = new Account("k",300);
- Account d = new Account("d", 200);
- Account e = new Account("mo",50);
- Account [] x = {b,c,d,e};
- sortByBalance(x);
- for (int i = 0; i<x.length;i++){
- System.out.println(x[i]);
- }
- }
- public static void robinHood(Account[] arr){
- double max = Integer.MAX_VALUE;
- double min = 0;
- int num1 = 0;
- int num2 = 0;
- for(int i = 0; i<arr.length; i++){
- if (arr[i].getBalance() <max){
- max= arr[i].getBalance();
- num1 = i;
- }
- if (arr[i].getBalance() >min){
- min = arr[i].getBalance();
- num2=i;
- }
- }
- arr[num1].transfer(arr[num2], arr[num1].getBalance()/2);
- arr[num2].balance = arr[num2].getBalance()/2;
- }
- public static double takeCommission(Account[] arr, int percent){
- double emla = 0;
- for (int i = 0; i<arr.length;i++){
- double z = arr[i].getBalance()/100*percent;
- emla+=z;
- }
- return emla;
- }
- public static boolean check(Account[] arr, int accNum){
- for (int i = 0; i<arr.length; i++){
- if(arr[i].getAccNum()==accNum){
- return true;
- }
- }
- return false;
- }
- public static void print(Account[] arr, Date date){
- for (int i = 0; i<arr.length;i++){
- if(date.compareTo(arr[i].getOpenDate()) == -1){
- System.out.println(arr[i].toString());
- }
- }
- }
- public static int count(Account[] arr, int year){
- int c = 0;
- for(int i = 0; i<arr.length; i++){
- if (arr[i].getOpenDate().getYear() == year){
- c++;
- }
- }
- return c;
- }
- public static Account oldest(Account[] arr){
- int y = Integer.MAX_VALUE;
- int z = 0;
- for(int i = 0; i<arr.length; i++){
- if(arr[i].getOpenDate().getYear() < y){
- y = arr[i].getOpenDate().getYear();
- z = i;
- }
- }
- return arr[z];
- }
- public static int[] check(Account[] arr, String name){
- int []x = new int[arr.length];
- for(int i = 0; i<arr.length; i++){
- if(arr[i].getOwnerName().equals(name)){
- x[0] = i;
- }
- }
- return x;
- }
- public static void sortByBalance(Account[] arr){
- boolean isFinished = true;
- while(isFinished){
- isFinished = false;
- for(int i = 0; i<arr.length-1;i++){
- if(arr[i+1].getBalance()<arr[i].getBalance()){
- Account temp = arr[i];
- arr[i] = arr[i+1];
- arr[i+1] = temp;
- isFinished = true;
- }
- }
- }
- }
- }
- ----------------------------------
- public class Account
- {
- private static int nextAccNum = 1000;
- private String ownerName;
- private int accNum;
- public double balance;
- private Date openDate;
- public Account(String name)
- {
- ownerName = name;
- balance = 0;
- accNum = nextAccNum++;
- openDate = new Date(0, 0, 0);
- openDate.setCurrent();
- }
- public Account(String name, double balance)
- {
- ownerName = name;
- this.balance = balance;
- accNum = nextAccNum++;
- openDate = new Date(0, 0, 0);
- openDate.setCurrent();
- }
- public Account(Account a)
- {
- this.ownerName = a.ownerName;
- this.balance = a.balance;
- this.accNum = a.accNum;
- this.openDate = a.openDate;
- }
- public void deposit(double x)
- {
- this.balance += x;
- }
- public boolean withdraw(double x)
- {
- if((this.balance + x) < 0)
- {
- return false;
- }
- this.balance += x;
- return true;
- }
- public boolean transfer(Account a, double x)
- {
- if(x > this.balance)
- {
- return false;
- }
- a.deposit(x);
- return true;
- }
- public void setOwnerName(String name)
- {
- this.ownerName = name;
- }
- public String getOwnerName()
- {
- return this.ownerName;
- }
- public double getBalance()
- {
- return this.balance;
- }
- public int getAccNum()
- {
- return this.accNum;
- }
- public Date getOpenDate()
- {
- return openDate;
- }
- public String toString()
- {
- return (ownerName +" "+ balance + " " + openDate.toString());
- }
- public static int getAccsNum()
- {
- return nextAccNum-1000;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement