JAVA1

나의 앱 만들기 1

강의소개

배웠으면 사용해야 합니다. 배우기만하고 사용하지 않으면 우리의 뇌는 억울해합니다. 서둘러서 배운 것을 활용해 나의 문제를 해결해봅시다. 

 

 

 

강의1

 

 

 

강의2

소스코드

변경사항

public class AccountingApp {

    public static void main(String[] args) {

		double valueOfSupply = 10000.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);

	}

}

 

 

 

강의3

 

 

 

강의4

소스코드

변경사항

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

	}

}

 

댓글

댓글 본문
  1. edit->find&replace : 중복되는값을 한번에 원하는다른 값으로 변경가능 (crtl+f)
    마우스우클릭->refactor->extract local variable : 어떤값을 이클립스가 자동으로 변수에 데이터타입을 선언해줌 (Art+shift+L)
  2. Osign
    22.07.03 시청 완료
  3. 은평구핵주먹곽두팔
    22.06.30 완
  4. 육도
    2022.05.01 완료
  5. 가나다라
    2022.03.26 완료
  6. 220320 입력 값 도입 및 cmd로 앱실행 완료
  7. 혹시 해당 에러가 나시는 분이 있을까 하여 공유합니다. (class 파일도 확인후 6:06분 쯤 33333.0 입력할때 해당 되는 에러입니다.

    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread "main" java.lang.UnsupportedClassVersionError: AccountingApp has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0

    방법 : Myapp 폴더 오른쪽 클릭 > alt +enter(프라펄티) > 왼쪽 메뉴 중간 쯤 Java Compiler > compiler compliance level: 1.8로 변경(다른버전은 안해봤는데 1.8이 일반적이라고 하여 하였습니다) Apply and close 누르고 하시면 됩니다.

    또한, 예전 강의에서 arguments를 "10000.0" "20000.0" 이런식으로 두개 만드시는 분도 존재할텐데 이건 정확한 이유는 모르겠지만 args[0];으로 하면 잘 작동하나 [1]로 되면 cmd에서 33333.0을 넣을때 작동하지 않더라구요. 0으로 넣으시면 됩니다.
  8. 220318 따라하기 완료
  9. 윤원
    220216
    찾기/바꾸기 기능
    Edit -> Find/Replace (ctrl+f)

    한번에 변수화시키는 방법 (alt+shift+L)
    Refactor -> extract local variable

    parse : 분석하다

    명령프롬프트에서 만든 클래스로 실행하는법
    .class 파일의 경로를 복사후
    명령프롬ㅁ프트 첫줄에 cd 띄고 붙여넣기
    그후 dir을 치면 클래스파일 보이는것 확인

    Run configurations -> arguments -> 값을 입력하고 apply -> run
    편집하려면 duplicate
  10. 2022.02.08 완료

    윈도우 기준
    cmd 에서 실행이 안되거나 에러가 떴을때 bin 파일 또는 src파일을 확인해보면 .class 또는 .java 파일이 있습니다.
    경로 복사후 cd 경로 + \bin 또는 \src를 추가로 입력해주시면 정상적으로 작동합니다.
  11. 열정jk
    220206 감사합니다
  12. 나연
    2022년 2월 4일 (목) 완료

    Right-click > `Refactor` > `Extract Local Variable`

    ```bash
    # Windows
    $ dir
    ```
    ``` bash
    # Mac or Linux
    $ ls - l
    ```

    ```bash
    $ java AccountingApp 33333.0
    ```

    다른 컴퓨터에서 실행하고 싶을 경우:
    - `.class` 파일 공유하고 그 컴퓨터에서 JVM 설치 여부 확인 후 파일 실행
    - JVM조차 설치 안 되어 있는 컴퓨터에서 실행하고 싶을 경우: Launch4j
    -- 프로그램에 JVM 내장
  13. 카멜리안_최유리
    20220129 완료
  14. BrightenTheWorld
    단축키: Shift + Alt + L = Extract Local Variable
    복잡한 변수를 간단한 변수로 변환

    public class AccountingApp {

    public static void main(String[] args) {

    System.out.println("Value of supply : "+(10000.0));
    System.out.println("VAT : "+ (10000*0.1));
    System.out.println("Total : "+ (10000.0+10000.0*0.1));
    System.out.println("Expense : "+ (10000.0*0.3));
    System.out.println("Income : "+ (10000.0 - 10000.0*0.3));
    System.out.println("dividend : "+(7000*5/10));
    System.out.println("dividend : "+(7000*3/10));
    System.out.println("dividend : "+(7000*2/10));
    }

    }

    위 코드는 변수 설정이 되지 않은 일회성의 코드, 한번 쓸 때는 좋지만 값을 변경해 줘야 할 때에는 소스코드를 변경해줘야 하는 번거로움이 있음

    public class AccountingApp {

    public static void main(String[] args) {

    double Value_Of_Supply = Double.parseDouble(args[0]);
    double VAT_Rate = Double.parseDouble(args[1]);
    double Expense_Rate = Double.parseDouble(args[2]);
    double Dividend_Rate_1 = Double.parseDouble(args[3]);
    double Dividend_Rate_2 = Double.parseDouble(args[4]);
    double Dividend_Rate_3 = Double.parseDouble(args[5]);

    double VAT = (Value_Of_Supply*VAT_Rate);
    double Total = (Value_Of_Supply+Value_Of_Supply*VAT_Rate);
    double Expense = (Value_Of_Supply*Expense_Rate);
    double Income = (Value_Of_Supply - Expense);
    double Sum_Dividend = Dividend_Rate_1+Dividend_Rate_2+Dividend_Rate_3;
    double dividend1 = (Income)*Dividend_Rate_1/Sum_Dividend;
    double dividend2 = (Income)*Dividend_Rate_2/Sum_Dividend;
    double dividend3 = (Income)*Dividend_Rate_3/Sum_Dividend;

    System.out.println("Value of supply : "+Value_Of_Supply);
    System.out.println("VAT : "+VAT);
    System.out.println("Total : "+ Total);
    System.out.println("Expense : "+ Expense);
    System.out.println("Income : "+ Income);
    System.out.println("dividend1 : "+dividend1);
    System.out.println("dividend2 : "+dividend2);
    System.out.println("dividend3 : "+dividend3);
    }

    }

    명령 프롬프트 창(cmd)에서 java AccountingApp 10000.0 0.1 0.3 5 3 2
    이제 소스코드를 변경하지 않고 매개변수인 공급가, 부가가치세율, 비용율, 배당율1, 배당율2, 배당율3 을 입력하여 부가가치세, 물건 가격, 비용, 소득, 배당가격을 구할 수 있다! Awesome!

    이제 class파일만 있으면 다른 컴퓨터에서도 실행이 가능하다. 단! java가 깔려있어야함
    java 없이도 파일을 실행하고싶다? Lunch4j사이트를 이용하자.
  15. 김나루
    2022. 01. 01
    강의(실습x) - (2)
    2022. 01. 03
    강의(실습x) - (4)

    2022. 01. 04
    실습 - (2)
    실습 - (4)
  16. 초보자바
    2021-12-05 실습0
    어제 본 것을 토대로 나의 흐름에 따라 단계별로 print부터 변수로 정리까지 해봤다.
    프로그램으로 할 수 없는 환경이므로 구름ide를 이용하여 Arguments나 popup기능을 못쓰는것은 아쉽지만 구상까진 해봤다
  17. 초보자바
    2021-12-04 실습x 강의0
    내일 실습까지 완료하고 복습 텍스트 업로드!
  18. 김휘철
    잘 봤습니다~
  19. chalieya
    cmd 창에서 dir을 해보면 AccountingApp.java 가 있는데 왜 실행이 안되는지 모르겠네요.. 아래 댓글로 있는데로 해봐도 안되는 이유는 뭘까요? ? ? javac가 실행이 안되어서 class 파일이 안만들어지고 실행이 안되는거 같기는 한데... javac는 왜 안되는 걸까요??? 구글링해보니 javac 하게 만드는 방법도 따라 해봤는데 안되네요.. ㅠㅠ
    한 참 후 ... 다시 검색해보니.. cmd 창을 닫고 다시 켜서 해보니 제대로 작동하는 걸 확인했습니다.
    src 폴더로 들어가서 class파일이 생성된걸 확인했다면 프롬프트에 java AccountingApp 30000 이라고 입력하니 실행이 되네요.. 하하하 신난다. ^^
  20. syh712
    2021-11-22
    1. 기본회계앱 만들기
    2. 변수값도입, 출력값 입력.. 마지막에 cmd에서 실행이 안됨 ㅠㅠ.
    3. Lunch4j
  21. 나자바바라
    2021. 11. 08.
  22. 워메
    경로에 오셨으면 java AccountingApp.java
    .java를 붙이셔야 하고 이래도 안되면
    java -cp "." AccountingApp.java 라고 해보세요. 값입력하셔야하구요.
    그리고 강의 보실때 잘안되시면 동영상 댓글을 보세요 비슷한 문제인분들 많으셔서요 ^^
    또 단축키팁같은거도 얻어가요
    대화보기
    • 윈도우로 cmd로 실행하고 있는데, 'C드라이브의 볼륨에는 이름이 없습니다.' 라고 뜨는 게 맞나요...?
      그리고 그 다음 Java AccountingApp 치고 들어갔는데 Error: Could not find or load main class AccountApp(생략)
      이런 에러가 나오네요..
      윈도우로 하려면 어떻게 해야 하는지, 뭐가 잘못되었는지 고수님들... 알려주세요!
    • codinggwon
      ㅠㅠ컴이구려서 그런지 경로가 이상해서 그런지 뭐가 문젠지 모르겠지만 마지막에 cmd 로 실행하는건 에러가 나네요..그치만 신박하고 재밌었습니다
    • won4175
      21.10.16
    • 주간식당메뉴
      21.10.14.
    • 미NI언
      9.28 완료!!
    • esther
      21.09.18
    • 2021.08.11 완료
    • labis98
      20210807 좋은 강의 감사합니다.
    • super1Nova
      210804
    • 피톤치드
      강의 4 :
      package MyApp1;

      public class AccountingApp {

      public static void main(String[] args) {
      double valueOfSupply = Double.parseDouble(args[0]);
      double vatRate = 0.1;
      double VAT = valueOfSupply*vatRate;
      double total = VAT+valueOfSupply;
      double expense = valueOfSupply*0.3;
      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 is : " + valueOfSupply);
      System.out.println("VAT is : " + VAT);
      System.out.println("Total is : " + total);
      System.out.println("Expense is : " + expense);
      System.out.println("Income is : " + income);
      System.out.println("Dividend1 is :" + dividend1);
      System.out.println("Dividend2 is :" + dividend2);
      System.out.println("Dividend3 is :" + dividend3);
      }
      }

      변수값을 입력해넣을 수는있지만 실제 어플리케이션 처럼 입력값을 물어보고 입력값을 대답처럼 입력하여 프로그램을 실행시키는 방식이면 더 좋게 느껴질 것 같다.
    • 피톤치드
      강의 3 :
      package MyApp1;

      public class AccountingApp {

      public static void main(String[] args) {
      double valueOfSupply = 12345;
      double vatRate = 0.1;
      double VAT = valueOfSupply*vatRate;
      double total = VAT+valueOfSupply;
      double expense = valueOfSupply*0.3;
      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 is : " + valueOfSupply);
      System.out.println("VAT is : " + VAT);
      System.out.println("Total is : " + total);
      System.out.println("Expense is : " + expense);
      System.out.println("Income is : " + income);
      System.out.println("Dividend1 is :" + dividend1);
      System.out.println("Dividend2 is :" + dividend2);
      System.out.println("Dividend3 is :" + dividend3);
      }
      }

      코드는 조금 더 명료한 것 같은데 코드가 너무 길고 무엇보다 변수의 값을 입력 받아서 진행되지 않으니 친절하게 느껴지지 않는다.
    • 피톤치드
      강의 2 :
      package MyApp1;
      public class AccountingApp {
      public static void main(String[] args) {
      double payment = 12345;
      System.out.println("Value of supply is : " + payment);
      System.out.println("VAT is : " + payment*0.1);
      System.out.println("Total payment is : " + (payment*0.1+payment));
      System.out.println("Expense is : " + payment*0.3);
      System.out.println("Income is : " + (payment-payment*0.3));
      System.out.println("Dividend1 is :" + (payment-payment*0.3)*0.5);
      System.out.println("Dividend2 is :" + (payment-payment*0.3)*0.3);
      System.out.println("Dividend3 is :" + (payment-payment*0.3)*0.2);
      }
      }

      이렇게 코드를 해보니 강의에서 보다 변수의 값을 바꾸기가 쉽게 느껴졌지만
      출력해야 될 연산을 할 때 너무 복잡하게 느껴졌음 dividend를 구하기 위해 변수에서 변수의 0.3의 곱을 빼서 다시 0.2를 곱한다 등등
      차라리 각각의 연산을 변수에 저장하여 불러와 다음 연산을 진행하는 게 조금 더 편하게 보일 것 같았음.
    • 김지원
      돈은 기본적으로 정수값이라고 생각해서 int로 해봤습니다.

      package kr.co.lifecoding;

      import javax.swing.JOptionPane;

      public class DividendProgram {

      public static void main(String[] args) {

      int money;
      int vat;
      int totalMoney;
      int supplyMoney;
      int expense;
      int dividend;

      money =Integer.parseInt(JOptionPane.showInputDialog("소비 금액을 입력하세요")); // 돈을 쓴다.
      vat = money * 10/100; // 부가가치세를 계산한다.
      totalMoney = money + vat; // 총액을 구한다.
      supplyMoney = money; // 공급가액을 구한다.
      expense = money * 30/100; // 비용을 구한다.
      money = money - expense; // 수익금을 구한다.


      System.out.printf("Value of supply : %d \n", supplyMoney);
      System.out.printf("VAT : %d \n", vat );
      System.out.printf("Total : %d \n" , totalMoney);
      System.out.printf("Expense : %d \n",expense);
      System.out.printf("Income : %d \n",money);

      dividend = money *50/100;
      System.out.printf("50 Dividend : %d원 \n" , dividend);

      dividend = money *30/100;
      System.out.printf("30 Dividend: %d원 \n",dividend);

      dividend = money *20/100;
      System.out.printf("20 Dividend : %d원 \n", dividend);



      }

      }
    • 2021-07-25 수강완료
      1. 변수 사용 안하고 앱 만들기 실습
      2. 변수 사용하고 앱만들기 실습
      3. IDE 사용 안하고 앱 실행하기 실습
      4. 다른 환경에서 앱 실행하는 방법 배움
    • Jaemin Lim
      21.07.17 완료
    • B=loom
      2021.07.16
    • 조유빈
      2021.07.13 완료
    • 초딩 개발자
      2021/06/13
    • Dominic
      이전 강의에서 배운 예제 OkjavaInput 를 이용해보세요.

      강의4 , line 5 : double valueOfSupply = Double.parseDouble(args[0]);

      --> String value = JOptionPane.showInputDialog("Value of insert ");
      double valueOfSupply = Double.parseDouble(value);

      이렇게 수정해보세요. 입력창이 뜹니다.
      대화보기
      • 도공우승9
        완료!
      • 향긋한토끼방구냄새
        21 05 05 완료
      • jeisyoon
        2021.04.30 나의 앱 만들기 1 - Ok
      • OrzlHB
        배워가는게 재미있다 - 완료!!-
      • 난길
        강의4: 입력할 수 있는 창이 뜨면 좋겠다
      • 난길
        강의3: 변수를 도입하니 값이 정확히 뭔지 알게 되는 건 좋은데, 변수가 너무 많은 것 같아서 복잡하다!
      • 난길
        변수를 설정하면 더 편할 것 같다!
      • anya422
        완료!
      • 레이
        2021.04.07완료
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기