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. Min Jupiter
    22.12.08
  2. 화난 흰둥이
    221130
  3. 서우
    221020
  4. 보통사람 박코딩
    할수있다
  5. 꾸준히가답이다
    // cmd 명령어로 이클립스 없이 실행을 하기 위해서는, 이클리스 앱의 경로를 복사한 후
    cmd에서 cd(change directory) 경로 주소 를 입력 해서 지정을 해준뒤
    // DIR을 통해서 디렉토리에 있는 파일들을 확인 후, class 파일이 없다면
    javac AccountingApp 을 통해서 class로 컴파일 해주어서 생성을 시킨다.

    // 이렇게 기본적인 셋팅이 되었다면, java AccountingApp 30000.0등과 같이 input 값을
    넣게 되면 class 로 컴파일 시켜서 args 변수 값으로 받게되어 구동된다.

    // 다른 컴퓨터에서도 이 어플리케이션을 실행을 시키게 하고자 하면 class파일만 있어도 되지만
    다만, 조건은 해당 컴퓨터에 java virtual machine이 꼭 있어야만 하는 조건이 있어야 한다.
    그것이 아니라면 class 파일 뿐만이 아닌, java도 같이 있어야만 한다 .

    없을 경우에는 launch4j와 같은 솔루션도 내장을 시켜서 만들어 내야한다.
    이런 솔루션 프로그램을 만드는 기업을 solution 업체라고 부르나 보다..?
  6. 자바자바
    java popup input text swing을 사용해보면 어떨까요?
    대화보기
    • 후토마끼
      22.10.07
    • 코딩드림
      22.10.03
    • 가능해
      22.09.16
    • 일억개
      가보자아!!!!!!
    • Asanagi
      20220810
    • Lee Soyon
      사용자한테 직접 공급가를 입력받을 수 있으면 더 좋겠어요.
    • economin
      수강완료
    • happybeom
      7.16
    • edit->find&replace : 중복되는값을 한번에 원하는다른 값으로 변경가능 (crtl+f)
      마우스우클릭->refactor->extract local variable : 어떤값을 이클립스가 자동으로 변수에 데이터타입을 선언해줌 (Art+shift+L)
    • 22.07.03 시청 완료
    • 은평구핵주먹곽두팔
      22.06.30 완
    • 육도
      2022.05.01 완료
    • 가나다라
      2022.03.26 완료
    • 220320 입력 값 도입 및 cmd로 앱실행 완료
    • 혹시 해당 에러가 나시는 분이 있을까 하여 공유합니다. (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으로 넣으시면 됩니다.
    • 220318 따라하기 완료
    • 윤원
      220216
      찾기/바꾸기 기능
      Edit -> Find/Replace (ctrl+f)

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

      parse : 분석하다

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

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

      윈도우 기준
      cmd 에서 실행이 안되거나 에러가 떴을때 bin 파일 또는 src파일을 확인해보면 .class 또는 .java 파일이 있습니다.
      경로 복사후 cd 경로 + \bin 또는 \src를 추가로 입력해주시면 정상적으로 작동합니다.
    • 열정jk
      220206 감사합니다
    • 나연
      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 내장
    • 카멜리안_최유리
      20220129 완료
    • 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사이트를 이용하자.
    • 김나루
      2022. 01. 01
      강의(실습x) - (2)
      2022. 01. 03
      강의(실습x) - (4)

      2022. 01. 04
      실습 - (2)
      실습 - (4)
    • 초보자바
      2021-12-05 실습0
      어제 본 것을 토대로 나의 흐름에 따라 단계별로 print부터 변수로 정리까지 해봤다.
      프로그램으로 할 수 없는 환경이므로 구름ide를 이용하여 Arguments나 popup기능을 못쓰는것은 아쉽지만 구상까진 해봤다
    • 초보자바
      2021-12-04 실습x 강의0
      내일 실습까지 완료하고 복습 텍스트 업로드!
    • 김휘철
      잘 봤습니다~
    • chalieya
      cmd 창에서 dir을 해보면 AccountingApp.java 가 있는데 왜 실행이 안되는지 모르겠네요.. 아래 댓글로 있는데로 해봐도 안되는 이유는 뭘까요? ? ? javac가 실행이 안되어서 class 파일이 안만들어지고 실행이 안되는거 같기는 한데... javac는 왜 안되는 걸까요??? 구글링해보니 javac 하게 만드는 방법도 따라 해봤는데 안되네요.. ㅠㅠ
      한 참 후 ... 다시 검색해보니.. cmd 창을 닫고 다시 켜서 해보니 제대로 작동하는 걸 확인했습니다.
      src 폴더로 들어가서 class파일이 생성된걸 확인했다면 프롬프트에 java AccountingApp 30000 이라고 입력하니 실행이 되네요.. 하하하 신난다. ^^
    • syh712
      2021-11-22
      1. 기본회계앱 만들기
      2. 변수값도입, 출력값 입력.. 마지막에 cmd에서 실행이 안됨 ㅠㅠ.
      3. Lunch4j
    • 나자바바라
      2021. 11. 08.
    • 워메
      경로에 오셨으면 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
      • kylim
        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);



        }

        }
      • Alex
        2021-07-25 수강완료
        1. 변수 사용 안하고 앱 만들기 실습
        2. 변수 사용하고 앱만들기 실습
        3. IDE 사용 안하고 앱 실행하기 실습
        4. 다른 환경에서 앱 실행하는 방법 배움
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기