본문 바로가기

생활코딩/JAVA1

생활코딩) JAVA1 - 14.6. 나의 앱 만들기 - 조건문

https://youtu.be/y-qUWhanlkM

 

자 우리 이번 시간에 살펴볼 주제는 제어문이라고 하는 것을 우리의 프로젝트에 도입해서 우리의 프로젝트를 좀더 개선시켜 나가 볼 겁니다. 

 

자 저는 지금까지 작업했던 어카운팅 앱 이라고 하는 저것을 복사를 해서요. 제어문을 적용해 볼 건데요. 자바에 제어문은 크게 두 가지에요, 하나는 조건문 또 하나는 반복문 이 두 가지인데. 조건문 부터 할 겁니다. 그래서 어카운팅 앱 점 자바를 복사 해서 ok 를 누르겠습니다. 

자 그리고 이 파일을 열면 보시는 것처럼 클래스 이름이 다르기 때문에 에러가 나오죠. 마우스를 올려 놔 보시면 클래스 의 이름을 바꾼다 라고 하는 저런 도움 기능을 이용해서 이렇게 제가 내용을 바꿨습니다. 


자 그럼 이제 여기에 있는 이 코드를 한번 보면서 어떤 문제가 있을 수 있는지를 한번 우리 상상해 봅시다. 자 어떤 이유로 인해서 income이 뭐에요. 이익이죠. 번 돈. 자 번 돈이 만 원 보다 작을 때는 이 첫 번째 사람이 돈을 이익을 다 가져가고 만원 보다 클 경우에 5대 3대 2로 나누고 싶다 라는 어떤 필요성이 생겼다 라면 이제 문제 어떻게 해결할까요. 일 잘하는 사람은 이렇게 해결할 겁니다.

 

자 이렇게 파일을 하나 더 복사 해요 그리고 AccountingIFUnder10000.java 라고 하는 별도의 프로그램을 하나 더 만들 겁니다. 그리고 이 프로그램은 일단 이름을 바꿔야겠죠. 이렇게 바꾸고 그 다음에 어떻게 할까요. 여기 있는 이 로직을 이렇게 바꾸는 거예요. 그럼 어떻게 되는 거예요. 만약에 사용자가 어 만원 보다 적은 돈을 계산하고 싶을 때는 AccountingIFUnder10000 이라고 하는 저 앱을 실행시켜서 실행을 하면 될 것이고 만원 보다 더 큰 경우에는 기존에 있었던 이 앱을 활용하면 될 겁니다.

 

우리 사람의 욕심은 끝이 없죠. 사용하는 사람이 이런 내부적인 어떤 사정이나 이런 것들을 전혀 몰라도 그냥 이 프로그램이 알아서 만원 보다 작은 경우에는 첫 번째 사람에게 몰아주고 만원 분의 큰 경우에는 5대 3대 2로 하면 얼마나 좋아요.

 

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: "+ dividend1);
		System.out.println("Dividend: "+ dividend2);
		System.out.println("Dividend: "+ dividend3);

	}
}


자 그것을 하는 방법을 살펴보겠습니다. 만약 인컴 이 수익이 10000 보다 크다면 얘가 실행되고 그렇지 않다면 즉 10000 보다 작다면 요 else 뒤에 있는 중괄호의 코드가 실행되도록 할 수 있단 말이에요. 자 그때의 여기 있는 double 선언을 위쪽에서 이렇게 좀 해줄 필요가 있어요. 왜 그런지는 지금 몰라도 괜찮습니다. 자 이렇게 하고 한번 실행을 시켜 볼까요. 자 여기 있는 런 버튼을 클릭했습니다. 에러가 나죠 왜냐하면 입력 값이 없기 때문에 그래요. 자 이걸 클릭해서 마이 어카운트 앱 에다가 우리가 확실한 입력 값을 줄까요. 50000 이니까 당연히 수익이 10000보다 크겠죠.

그리고 어플라이 그 다음에 이것을 복사합니다 듀플리 케이트 해요. 그리고 얘는 5천 해줍니다. 5000 을 주면 수익이 10000보다 작겠죠. 요렇게 해서 어플라이를 하고요. 자 그리고 수익이 5,000 그 공급가 가 5천원 인 경우에 어떻게 되는지를 한번 실행을 시켜 볼게요 자 보시는 것처럼 이 인컴이

 


3,500원 즉 만원 보다 작다 보니까 첫 번째 사람에게 몰아 줬죠. 자 이번에는 만원 보다 큰 경우를 한번 계산해 보겠습니다. 클릭/ 자 만 원 보다 큰 경우에는 첫번째 사람 두 번째 세 번째 사람이

 


5대 3대 2의 비율로 분배가 된 것을 볼수가 있습니다. 자 우리가 사용하는 사람이 자신의 상황에 따라서 자 실행된 프로그램을 선택하는 것도 좋은 방법이에요. 하지만 그렇게 되면 그 프로그램이 동작하는 방법을 충분히 이해해야 되고 프로그램을 만드는 우리도 관리하는 것이 대단히 힘들어진다는 말이죠. 하지만 이 조건문을 사용을 하게 되면 이 프로그램이 알아서 자신의 상황을 판단해서 어떻게 동작할 지를 결정할 수 있기 때문에 우리는 하나의 프로그램으로 여러 가지 일을 할 수 있는 폭발적인 효과를 얻게 된다는 것을 기억해 주시면 좋을 것 같습니다. 문법은 잘 몰라도 괜찮아요 여기까지 하겠습니다

------

* 유튜브 강의에서 자막을 추출해 정리했습니다.

-----

 

하 이클립스에서 파일을 복사했는데도 계속 복사본에 따라 원본이 바뀌어서 애를 먹었는데

알고보니 이게 네비게이터에서 누른 파일이 화면에 보여지는게 아니어서 그런 거였다^^;;

위에 탭에서 화면을 이동해야 하는 그런 것을 착각해서 계속 내비게이터에서 파일을 눌러 그 파일로 갔다고 생각했는데 아니었다..

힘든 강의였다 ㅋㅋㅋ

 

* 조건문이 필요한 경우: 한 실행파일에서 어떤 조건에 따라 다르게 계산하고 싶을 때 조건문을 쓰면 편하다

 

반응형