ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-05-18

2021-05-18 15:58:35  阅读:116  来源: 互联网

标签:return 05 int 18 double 2021 max balance public


 

package 课堂练习;
import java.util.Date;
public class ch07a {
        public static void main(String[] args){
            Account account = new Account(1122,20000);
            if(account.withDraw(2500))
                System.out.println("Success");
            else
                System.out.println("Fail");

            if(account.deposit(2500))
                System.out.println("Success");
            else
                System.out.println("Fail");

            System.out.println("balance:" + account.getBalance());
            System.out.println("monthly interest:" + account.getMonthlyInterestRate() * account.getBalance());
            System.out.println(account.getDate().toString());
        }
    }
    class Account{
        private int id;
        private double balance;
        private double annualInterestRate;
        private Date dateCreated;

        public Account(){
            dateCreated = new Date();
            id = 0;
            balance = 0;
            annualInterestRate = 0;
        }

        public Account(int ID, double BALANCE){
            dateCreated = new Date();
            id = ID;
            balance = BALANCE;
            annualInterestRate = 0.045;
        }

        public int getId(){
            return id;
        }

        public void setId(int ID){
            id = ID;
        }

        public double getBalance(){
            return balance;
        }

        public void setBalance(double ba){
            balance = ba;
        }

        public double getAnnualInterestRate(){
            return annualInterestRate;
        }

        public void setAnnualInterestRate(double annual){
            annualInterestRate = annual;
        }

        public Date getDate(){
            return dateCreated;
        }

        public double getMonthlyInterestRate(){
            return annualInterestRate / 12.0;
        }

        public boolean withDraw(double money){
            if(balance >= money){
                balance -= money;
                return true;
            }
            else
                return false;
        }

        public boolean deposit(double money){
            if(money >= 0){
                balance += money;
                return true;
            }
            else
                return false;
        }
    }

package 课堂练习;

import java.util.ArrayList;
import java.util.Date;

public class ch07b {
    public static void main(String[] args) {
        //用于为账户存储交易
        //ArrayList<Object> transactions=new ArrayList<>();

        NewAccount object = new NewAccount("George", 1122, 1000);
        object.setAnnualInterestRate(0.015);

        object.deposit(30);
        object.deposit(40);
        object.deposit(50);

        object.withDraw(5);
        object.withDraw(4);
        object.withDraw(2);

        System.out.println("账户持有者名字: " + object.getName()
                + "\n利率: " + object.getAnnualInterestRate()
                + "\n收支额: " + object.getBalance()
                + "\n所有的交易:" + object.toString());
    }
}

 class NewAccount {

    private String name;

    //用于为账户存储交易
    private ArrayList<Object> transactions = new ArrayList<>();

    public int id = 0;//用户名
    public double balance = 0;//余额
    public double annualInteresRate = 0;//当前利率
    public java.util.Date dateCreated;//存储开户日期

    //无参构造方法
    public NewAccount() {
        Date dateCreated = new Date();
        this.dateCreated = dateCreated;

    }

    //有参构造方法
    public NewAccount(int id, double balance) {
        Date dateCreated = new Date();
        this.dateCreated = dateCreated;
        this.id = id;
        this.balance = balance;
    }

    //一个新的有参构造方法
    public NewAccount(String name, int id, double balance) {
        Date dateCreated = new Date();
        this.dateCreated = dateCreated;
        this.id = id;
        this.balance = balance;
        this.name = name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }

    public void setAnnualInterestRate(double annualInterestRate) {
        this.annualInteresRate = annualInterestRate;
    }

    public int getId() {
        return id;

    }

    public double getBalance() {
        return balance;

    }

    public String getName() {
        return name;

    }

    public double getAnnualInterestRate() {
        return annualInteresRate;

    }

    public double getMonthlyInterestRate() {
        return annualInteresRate / 12;

    }

    public String getDateCreated() {
        return dateCreated.toString();

    }


    //取钱
    public double withDraw(double withDarw) {

        //创建一笔取钱交易
        Transaction withDrawTransacte = new Transaction('W', withDarw, (this.balance = this.balance - withDarw), "取款:" + withDarw + "美元");
        transactions.add(withDrawTransacte.getDescription());

        return this.balance;

    }


    //存钱
    public double deposit(double deposit) {
        //创建一笔存钱交易
        Transaction depositTransacte = new Transaction('D', deposit, (this.balance = this.balance + deposit), "存款:" + deposit + "美元");
        transactions.add(depositTransacte.getDescription());

        return this.balance;
    }

    public String toString() {
        return "\n日期: " + getDateCreated() + "\n" + transactions.toString();
    }
}

 class Transaction {
    //交易日期
    private java.util.Date date;

    //交易类型,例如'W','D'
    private char type;

    //交易量
    private double amount;

    //交易后的新余额
    private double balance;

    //交易描述
    private String description;


    //一个有参构造方法
    public Transaction(char type, double amount, double balance, String description) {
        this.type=type;
        this.amount=amount;
        this.balance=balance;
        this.description=description;

        //创建一个交易日期
        date=new Date();
        this.date=date;
    }

    //获得交易日期
    public String getDate() {
        return date.toString();

    }

    //设置交易日期
    public void setDate(long eclapseTime) {
        date.setTime(eclapseTime);
    }

    //交易类型:‘W’——取款,‘D’——存款
    public char getType() {
        return type;

    }

    public void setType(char type) {
        this.type=type;
    }

    public double getAmount() {
        return amount;

    }

    public void setAmount(double amount) {
        this.amount=amount;
    }

    public double getBalance() {
        return balance;

    }

    public void setBalance(double balance) {
        this.balance=balance;
    }

    public String getDescription() {
        return description;

    }

    public void setDescription(String description) {
        this.description=description;
    }
}

 

package 课堂练习;

public class ch07c {
    public static void main(String[] args)

    { int max=0;

        int i,j,sum1,sum2,sum3,sum4;//i和j是定义的变量,sum1是横向的计算,sum2是纵向的计算

//sum3是右下向的计算,sum4是左下向的计算,为什么我不算左上方和右下方?因为和右下向,左下向重合了

        int a[][]= {    {8, 2, 22,97,38,15, 0,40, 0,75, 4, 5, 7,78,52,12,50,77,91,8},

                        {49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48, 4,56,62,0},

                        {81,49,31,73,55,79,14,29,93,71,40,67,53,88,30, 3,49,13,36,65},

                        {52,70,95,23, 4,60,11,42,69,24,68,56, 1,32,56,71,37, 2,36,91},

                        {22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},

                        {24,47,32,60,99, 3,45, 2,44,75,33,53,78,36,84,20,35,17,12,50},

                        {32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},

                        {67,26,20,68, 2,62,12,20,95,63,94,39,63, 8,40,91,66,49,94,21},

                        {24,55,58, 5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},

                        {21,36,23, 9,75, 0,76,44,20,45,35,14, 0,61,33,97,34,31,33,95},

                        {78,17,53,28,22,75,31,67,15,94, 3,80, 4,62,16,14, 9,53,56,92},

                        {16,39, 5,42,96,35,31,47,55,58,88,24, 0,17,54,24,36,29,85,57},

                        {86,56, 0,48,35,71,89, 7, 5,44,44,37,44,60,21,58,51,54,17,58},

                        {19,80,81,68, 5,94,47,69,28,73,92,13,86,52,17,77, 4,89,55,40},

                        { 4,52, 8,83,97,35,99,16, 7,97,57,32,16,26,26,79,33,27,98,66},

                        {88,36,68,87,57,62,20,72, 3,46,33,67,46,55,12,32,63,93,53,69},

                        { 4,42,16,73,38,25,39,11,24,94,72,18, 8,46,29,32,40,62,76,36},

                        {20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74, 4,36,16},

                        {20,73,35,29,78,31,90, 1,74,31,49,71,48,86,81,16,23,57, 5,54},

                        { 1,70,54,71,83,51,54,69,16,92,33,48,61,43,52, 1,89,19,67,48}

                };

        for(i=0;i<16;i++)

            for(j=0;j<16;j++)

            {sum1=a[i][j]*a[i][j+1]*a[i][j+2]*a[i][j+3];

                if(sum1>max)

                    max=sum1;

            }

        System.out.print("max1 is:");//横向

        System.out.println(max);

        for(i=0;i<16;i++)

            for(j=0;j<16;j++)

            {sum2=a[i][j]*a[i+1][j]*a[i+2][j]*a[i+3][j];

                if(sum2>max)

                    max=sum2;

            }

        System.out.print("max2 is:");//纵向

        System.out.println(max);

        for(i=0;i<16;i++)

            for(j=0;j<16;j++)

            {sum3=a[i][j]*a[i+1][j+1]*a[i+2][j+2]*a[i+3][j+3];

                if(sum3>max)

                    max=sum3;

            }

        System.out.print("max3 is:");//斜向右下方

        System.out.println(max);

        for(i=3;i<20;i++)

            for(j=0;j<16;j++)

            {sum4=a[i][j]*a[i-1][j+1]*a[i-2][j+2]*a[i-3][j+3];

                if(sum4>max)

                    max=sum4;

            }

        System.out.print("max4 is:");//斜向左下方

        System.out.println(max);

    }

}

方法二

package 课堂练习;

public class ch07cc {
    //从左到右计算最大值
    public static long leftToRight(int arr[][]) {
        int max = 0;
        int value = 1;
        for (int i = 0; i < 20; i++) {
            for (int j = 0; j < 17; j++) {
                value = arr[i][j] * arr[i][j + 1] * arr[i][j + 2] * arr[i][j + 3];
                if (value > max) max = value;
            }

        }
        return max;
    }

    //从上到下计算最大值
    public static long upToDown(int arr[][]) {
        int max = 0;
        int value = 1;
        for (int i = 0; i < 17; i++) {
            for (int j = 0; j < 20; j++) {
                value = arr[i][j] * arr[i + 1][j] * arr[i + 2][j] * arr[i + 3][j];
                if (value > max) max = value;
            }

        }
        return max;

    }

    //从左上到右下计算最大值
    public static long left_uToRight_d(int arr[][]) {
        int max = 0;
        int value = 1;
        for (int i = 0; i < 17; i++) {
            for (int j = 0; j < 17; j++) {
                value = arr[i][j] * arr[i + 1][j + 1] * arr[i + 2][j + 2] * arr[i + 3][j + 3];
                if (value > max) max = value;
            }

        }
        return max;
    }

    //从右上到左下计算最大值
    public static long right_uToLeft_d(int arr[][]) {
        int max = 0;
        int value = 1;
        for (int i = 3; i < 20; i++) {
            for (int j = 0; j < 17; j++) {
                value = arr[i][j] * arr[i - 1][j + 1] * arr[i - 2][j + 2] * arr[i - 3][j + 3];
                if (value > max) max = value;
            }

        }
        return max;
    }

    public static void main(String[] args) {
        /* 构建20*20整数数组 */
        int arr[][] = {{8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8},
                {49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 4, 56, 62, 0},
                {81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 3, 49, 13, 36, 65},
                {52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91},
                {22, 31, 16, 71, 51, 67, 63, 89, 41, 92, 36, 54, 22, 40, 40, 28, 66, 33, 13, 80},
                {24, 47, 32, 60, 99, 3, 45, 2, 44, 75, 33, 53, 78, 36, 84, 20, 35, 17, 12, 50},
                {32, 98, 81, 28, 64, 23, 67, 10, 26, 38, 40, 67, 59, 54, 70, 66, 18, 38, 64, 70},
                {67, 26, 20, 68, 02, 62, 12, 20, 95, 63, 94, 39, 63, 8, 40, 91, 66, 49, 94, 21},
                {24, 55, 58, 5, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72},
                {21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95},
                {78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92},
                {16, 39, 5, 42, 96, 35, 31, 47, 55, 58, 88, 24, 0, 17, 54, 24, 36, 29, 85, 57},
                {86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58},
                {19, 80, 81, 68, 5, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 4, 89, 55, 40},
                {4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66},
                {88, 36, 68, 87, 57, 62, 20, 72, 3, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69},
                {4, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 8, 46, 29, 32, 40, 62, 76, 36},
                {20, 69, 36, 41, 72, 30, 23, 88, 34, 62, 99, 69, 82, 67, 59, 85, 74, 4, 36, 16},
                {20, 73, 35, 29, 78, 31, 90, 1, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 5, 54},
                {1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48},
        };
        System.out.println("max :" + max(leftToRight(arr), upToDown(arr), left_uToRight_d(arr), right_uToLeft_d(arr)));
    }

    private static long max(long a, long b,
                            long c, long d) {
        long max = a;
        if (b > max) max = b;
       if (c > max) max = c;
       if (d > max) max = d;
        return max;
    }
}

 

标签:return,05,int,18,double,2021,max,balance,public
来源: https://blog.csdn.net/weixin_54523633/article/details/116991747

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有