나의 앱 만들기
public class AccountingApp {
public static void main(String[] args) {
System.out.println("Value of supply : "+12345.0);
System.out.println("VAT : "+12345.0*0.1);
System.out.println("ToTal : "+(12345.0 + 12345.0*0.1));
System.out.println("Expense : "+(12345.0*0.3));
System.out.println("Income : "+(12345.0 - 12345.0*0.3));
System.out.println("Dividend 1 : "+(12345.0 - 12345.0*0.3) * 0.5);
System.out.println("Dividend 2 : "+(12345.0 - 12345.0*0.3) * 0.3);
System.out.println("Dividend 3 : "+(12345.0 - 12345.0*0.3) * 0.2);
}
}
공급가 부가가치세 총 금액 비용 수익 분할1 2 3 이렇게 간단하게 코딩을 하였다
변수도입
로컬변수추출 alt + shift + L
public class AccountingApp {
public static void main(String[] args) {
double valueOfSupply = 12345.0;
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply - expense;
double dividend1 = income * 0.5;
double dividend2 = income * 0.3;
double dividend3 = income * 0.2;
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("ToTal : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+dividend2);
System.out.println("Dividend 3 : "+dividend3);
}
}
입력값 도입
public class AccountingApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply - expense;
double dividend1 = income * 0.5;
double dividend2 = income * 0.3;
double dividend3 = income * 0.2;
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("ToTal : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+dividend2);
System.out.println("Dividend 3 : "+dividend3);
}
}
argument에 값을 넣어주거나 cmd로 javac 를 이용하여 클래스파일을 만들어주고 그걸로 값을 주면 된다
조건문
public class AccountingIFApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply - expense;
double dividend1;
double dividend2;
double dividend3;
if(income > 10000.0) {
dividend1 = income * 0.5;
dividend2 = income * 0.3;
dividend3 = income * 0.2;
} else {
dividend1 = income * 1.0;
dividend2 = income * 0;
dividend3 = income * 0;
}
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("ToTal : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+dividend2);
System.out.println("Dividend 3 : "+dividend3);
}
}
배열
public class AccountingArrayApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply - valueOfSupply*expenseRate;
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
double dividend1 = income * dividendRates[0];
double dividend2 = income * dividendRates[1];
double dividend3 = income * dividendRates[2];
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("ToTal : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+dividend2);
System.out.println("Dividend 3 : "+dividend3);
}
}
반복문
public class AccountingArrayLoopApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply - valueOfSupply*expenseRate;
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("ToTal : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
int i = 0;
while(i < dividendRates.length) {
System.out.println("Dividend 1 : " + (income * dividendRates[i]));
i = i + 1;
}
}
}
메소드
메소드는 서로 연관된 코드를 그룹핑해서 이름을 붙힌 정리정돈의 상자다
public class AccountingMethodApp {
public static double valueOfSupply;
public static double vatRate;
public static double expenseRate;
public static void main(String[] args) {
valueOfSupply = 10000.0;
vatRate = 0.1;
expenseRate = 0.3;
print();
}
private static void print() {
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+getVAT());
System.out.println("ToTal : "+getTotal());
System.out.println("Expense : "+getExpense());
System.out.println("Income : "+getIncome());
System.out.println("Dividend 1 : "+getDividend1());
System.out.println("Dividend 2 : "+getDividend2());
System.out.println("Dividend 3 : "+getDividend3());
}
private static double getDividend1() {
return getIncome() * 0.5;
}
private static double getDividend2() {
return getIncome() * 0.3;
}
private static double getDividend3() {
return getIncome() * 0.2;
}
private static double getIncome() {
return valueOfSupply - getExpense();
}
private static double getExpense() {
return valueOfSupply*expenseRate;
}
private static double getTotal() {
return valueOfSupply + getVAT();
}
private static double getVAT() {
return valueOfSupply*vatRate;
}
}
클래스
클래스는 서로 연관된 변수와 메소드들을 묶어 정리하는 것
class Accounting{
public static double valueOfSupply;
public static double vatRate;
public static double expenseRate;
private static double getDividend1() {
return getIncome() * 0.5;
}
private static double getDividend2() {
return getIncome() * 0.3;
}
private static double getDividend3() {
return getIncome() * 0.2;
}
private static double getIncome() {
return valueOfSupply - getExpense();
}
private static double getExpense() {
return valueOfSupply*expenseRate;
}
private static double getTotal() {
return valueOfSupply + getVAT();
}
private static double getVAT() {
return valueOfSupply*vatRate;
}
public static void print() {
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+getVAT());
System.out.println("ToTal : "+getTotal());
System.out.println("Expense : "+getExpense());
System.out.println("Income : "+getIncome());
System.out.println("Dividend 1 : "+getDividend1());
System.out.println("Dividend 2 : "+getDividend2());
System.out.println("Dividend 3 : "+getDividend3());
}
}
public class AccountingClassApp {
public static void main(String[] args) {
Accounting.valueOfSupply = 10000.0;
Accounting.vatRate = 0.1;
Accounting.expenseRate = 0.3;
Accounting.print();
}
}
인스턴스
인스턴스는 하나의 클래스를 복제해서 서로 다른 데이터 값과 서로 같은 메소드를 가진 복제본을 만드는 것이다
class Accounting{
public double valueOfSupply;
public double vatRate;
public double expenseRate;
public double getDividend1() {
return getIncome() * 0.5;
}
public double getDividend2() {
return getIncome() * 0.3;
}
public double getDividend3() {
return getIncome() * 0.2;
}
public double getIncome() {
return valueOfSupply - getExpense();
}
public double getExpense() {
return valueOfSupply*expenseRate;
}
public double getTotal() {
return valueOfSupply + getVAT();
}
public double getVAT() {
return valueOfSupply*vatRate;
}
public void print() {
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+getVAT());
System.out.println("ToTal : "+getTotal());
System.out.println("Expense : "+getExpense());
System.out.println("Income : "+getIncome());
System.out.println("Dividend 1 : "+getDividend1());
System.out.println("Dividend 2 : "+getDividend2());
System.out.println("Dividend 3 : "+getDividend3());
}
}
public class AccountingClassApp {
public static void main(String[] args) {
// instance
Accounting a1 = new Accounting();
a1.valueOfSupply = 10000.0;
a1.vatRate = 0.1;
a1.expenseRate = 0.3;
a1.print();
Accounting a2 = new Accounting();
a2.valueOfSupply = 20000.0;
a2.vatRate = 0.05;
a2.expenseRate = 0.2;
a2.print();
}
}