JAVA1

나의 앱 만들기 2

수업소개

배우지 않은 개념을 이용해서 나의 앱을 만들어봅시다. 앞으로 여러분이 공부해볼만한 주제들을 소개하는 시간이기도 합니다. 다 보려고 하지 마시고, 흥미 있는 부분까지만 보시면 됩니다. 

 

 

 

강의 5

 

 

 

강의 6

소스코드

변경사항

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);

	}

}

 

 

 

강의 7

소스코드

변경사항

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 - expense;
		
		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);

	}

}

 

 

 

강의 8

소스코드

변경사항

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 - expense;
		
		

		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 : " + (income*dividendRates[i]) );
			i = i + 1;
		}
		

	}

}

 

 

 

강의 9

소스코드

변경사항

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();
	}

	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 : " + getDiviend1());
		System.out.println("Dividend 2 : " + getDiviend2());
		System.out.println("Dividend 3 : " + getDiviend3());
	}

	public static double getDiviend1() {
		return getIncome() * 0.5;
	}
	public static double getDiviend2() {
		return getIncome() * 0.3;
	}
	public static double getDiviend3() {
		return getIncome() * 0.2;
	}

	public static double getIncome() {
		return valueOfSupply - getExpense();
	}

	public static double getExpense() {
		return valueOfSupply * expenseRate;
	}

	public static double getTotal() {
		return valueOfSupply + getVAT();
	} 

	public static double getVAT() {
		return valueOfSupply * vatRate;
	}

}

 

 

강의 10

소스코드

변경사항

class Accounting{
    public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	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 : " + getDiviend1());
		System.out.println("Dividend 2 : " + getDiviend2());
		System.out.println("Dividend 3 : " + getDiviend3());
	}

	public static double getDiviend1() {
		return getIncome() * 0.5;
	}
	public static double getDiviend2() {
		return getIncome() * 0.3;
	}
	public static double getDiviend3() {
		return getIncome() * 0.2;
	}

	public static double getIncome() {
		return valueOfSupply - getExpense();
	}

	public static double getExpense() {
		return valueOfSupply * expenseRate;
	}

	public static double getTotal() {
		return valueOfSupply + getVAT();
	} 

	public static double getVAT() {
		return valueOfSupply * vatRate;
	}
}
public class AccountingClassApp {
	
	public static void main(String[] args) {
		Accounting.valueOfSupply = 10000.0;
		Accounting.vatRate = 0.1;
		Accounting.expenseRate = 0.3;
		Accounting.print();
		// anotherVariable = ...;
		// anotherMethod = ...;
	}

	

}

 

 

 

강의11

소스코드

변경사항

class Accounting{
    public double valueOfSupply;
	public double vatRate;
	public double expenseRate;
	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 : " + getDiviend1());
		System.out.println("Dividend 2 : " + getDiviend2());
		System.out.println("Dividend 3 : " + getDiviend3());
	}

	public double getDiviend1() {
		return getIncome() * 0.5;
	}
	public double getDiviend2() {
		return getIncome() * 0.3;
	}
	public double getDiviend3() {
		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 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();
		
		a1.print();
	}
}

 

댓글

댓글 본문
작성자
비밀번호
  1. 소금설탕
    감사합니다.
  2. 리리
    연관된 코드들을 묶은 상자 : 메소드
    연관된 변수들과 메소드들을 묶은 상자 : 클래스
    하나의 클래스를 복제하여 다른 값들을 넣어서 사용할 수 있게 만드는 것 : 인스턴스
    (인스턴스로 사용될 클래스의 변수와 메소드에는 static이 들어가면 안됨)
  3. 라또마니
    메소드(method) : 함수
    메소드는 서로 연관된 코드를 그루핑해서 이름을 붙인 정리정돈한 상자이다.

    객체 : 클래스라는 표현을 쓰기도 하는데, 클래스는 서로 연관된 변수와 메소드를 그루핑 한 것이다. 거기에 이름을 붙인 것이다.

    인스턴스 : 하나의 클래스를 복제해서 서로 다른 데이터 값 과 서로 다른 메소드를 가진 복제본을 만드는 것이다.
  4. jw1207j67@google.com
    최고입니다.
    정리가 쫙 되는 느낌입니다.
    감사합니다.
  5. truespring
    밑에서 나누는 수를 표현하기 위하여 변수 j를 사용하였는데 이럴 필요없이 i를 사용할 수 있습니다.
    int i = 0;
    while (i < dividendRates.length) {
    System.out.println("Dividend " + (i+1) + " : " + (income * dividendRates[i]);
    i++;
    }
    굳이 변수 하나를 더 생성할 필요가 없어집니다.
  6. 백인호
    Loop 에 방법인 while문 예제에서 divedend 0이 반복되는것이 불편하여서
    Multiple conditions in WHILE loop 라고 검색해보니
    int i = 0;
    int j = 1;
    while(i < dividendRates.length && j < 4) {
    System.out.println("Divedend " + j + ":" + (Income * dividendRates[i]) );
    i=i+1;
    j=j+1;
    }
    로 적용하니 divedend 가 1 2 3 이 순차적으로 나오네요.
  7. 정훈
    수고하셨습니다.^^
  8. 코리니
    와.. 나의 앱 만들기 시리즈가 정말 강력했던 거 같아요!!
    감사합니다!!
  9. 휴~ ㅎㅎ 끝
    너무너무 감사합니다^^
  10. 쑤우
    수강완료. 감사합니다~
  11. 멋지게살자
    쭉 정리해 주셔서 감사합니다.
    그동안 궁금했던내용이 정리되었습니다.
    앞으로 정진할 일만 남았네요... 다시한번 감사드립니다.
  12. 햄쮸맨
    근데 생각해보니 우리는 지금껏 하나의 클래스를 가지고 하나의 인스턴스만 만들어 왔다가 이제서야 하나의 클래스로 여러 인스턴스를 복제하는 법을 배운건가요?
  13. 햄쮸맨
    메소드는 성질이 유사한 코드들을 묶어서 이름 붙인 덩어리군요!
    클래스는 메소드랑 변수 값들을 묶어놓은 덩어리고요!
    인스턴스는 클래스(붕어빵틀)을 이용해서 복제된 서로 다른 변수와 같은 메소드를 가진 붕어빵이네용.
  14. 햄쮸맨
    조건문은 특정 조건에서 다른 동작을 수행 해야하는 경우에 사용되는 거군요!
    배열은 같은 분류의 데이터들을 한 변수에 담아서 사용할 수 있도록 한 거고요. 경우에 따라서는 문자열을 한글자씩 담아서 몇번째 글자만 따로 출력하는 것도 가능하겠네요.
    반복문은 특정 조건이 성취되기 이전까지 같은 동작을 반복 해야하는 경우에 사용하는 거군요!
    위에서는 배열과 함께써서 배열의 데이터가 끝난다는 조건이 성취 될때까지 배열의 데이터와 수입을 곱해서 나눔몫을 출력해줬네요! 둘이 함께 쓰이니까 효과가 참 좋네요!
  15. 피읍
    감사합니다 6개월동안 교육들으면서 자바를 한 2달간 배웠는데 학원에서 배운것보다 이번영상으로 본게 배울점이 더 많은것 같네요
  16. 가나다
    감사합니다!
    대화보기
    • 저도초보
      println 라인의 "Dividend(i+1) : " <- 이 부분이 큰따옴표로 지정되있어서 그대로 출력되도록 인식되서 그럴거에요.
      순번 구분을 위해 i 값을 변화시키면서 출력하려면
      System.out.println("Dividend" + (i+1) " : "+ (income*dividendRates[i]) );
      이런식으로 구분해서 지정해주면 되더라구요.
      대화보기
      • 가나다
        원래 dividend 1~3까지 구분지어서 결과값이 나왔는데, 반복문에서는 이 구분을 다 없애고 "dividend : 금액"으로 결과값이 출력이 되더라구요. 앞에서 i에 대해서 선언했기때문에 이 i를 이용하여 구분지어주기위해

        int i=0;
        while(i<dividendRates.length) {
        System.out.println("Dividend(i+1) : "+ (income*dividendRates[i]) );
        i=i+1;

        }

        다음과 같이 코드를 짰는데 왜 이거는 실행하면
        "Dividend(i+1): "이라고 i가 적용되지 않고, 그대로 문자로 결과값이 출력될까요?
        이를 i를 이용하여 구분지어서 출력해주기 위해서는 어떻게 코드를 짜야 좋을지도 알고싶어요!
      • 이만수
        메소드, 클래스, 인스턴스.. 득도 한 느낌입니다 ㅎㅎ static 지우는 건 이해를 못했습니다. 이해할 날이 오겠죠 ^^
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기