int [] ho = new int[3];
Scanner s = new Scanner(System.in);
int sum = 0;
double avg = 0.0;
for(int i =0; i<ho.length; i++) {
System.out.println(i+1+"호 월세를 입력하세요.(단위 : 만원)");
//index 0부터 시작임으로 +1해줌
ho[i] = s.nextInt(); //ho는 저장공간 -> 왜? 뒤에 값이 있고 대입연산자 있으니
sum += ho[i];
}
System.out.println("총 월세 합 : "+ sum +"만원");
avg = (double)sum / ho.length;
avg = (double)sum / ho.length;
- 정수(int sum) 와 정수(int ho) 연산 => 정수가 된다.
- avg는 실수이므로 하나를 실수로 바꿔줘야한다.
=> 평균 월세 :27.666666666666668만원 으로 없는 단위까지 나와버린다.
=> 몇자리까지 출력할건지 지정해줘야 한다.
System.out.println("평균 월세 :" + avg + "만원");
System.out.printf("평균 월세 : %.2f만원", avg);
이런 방법도 있지만 String.format을 사용하자!
avg = Double.parseDouble(String.format("%.2f",(double)sum / ho.length));
System.out.println("평균 월세 :" + avg + "만원");
< 풀이 >
즉 format은 String class안에 있다.
- 바꿔주게 되면 전체적인 형태가 문자열(String)로바뀜.
-> parseDouble 한 이유
왜냐면 String은 클래스 type임으로 클래스type으로 변환해줘야 한다.
< 결과 >
1호 월세를 입력하세요.(단위 : 만원)
40
2호 월세를 입력하세요.(단위 : 만원)
45
3호 월세를 입력하세요.(단위 : 만원)
50
총 월세 합 : 135만원
평균 월세 :45.0만원
강남점, 코엑스점, 명동점의 평균매출액, 총 매출액 구해보자.
단위는 100만원 단위로 입력받는다.
단, 평균 매출액은 만원단위까지 출력한다. (== 소수점2쨰자리까지)
int [] arIncome = new int[3]; //매출액 담는 배열
String [] arName = {"강남점","코엑스점","명동점"};
Scanner s = new Scanner(System.in);
int sum = 0;
int cnt = 0;
double avg = 0.0;
String best = "없음";
//인센티브 매장이 없다 = 3개의 매장이 매출액이 똑같다.
//그래서 best의 초기값을 "없음"으로 설정
//인센티브 매장이 없으면 if문 자체에 안들어가기 때문에 초기값"없음"이 출력됨.
for(int i =0; i<arIncome.length; i++) {
System.out.println(arName[i]+"의 매출액을 입력하세요.(단위 : 백만원)");
arIncome[i] =s.nextInt();
sum += arIncome[i]; //총 매출액
}
avg = Double.parseDouble(String.format("%.2f", (double)sum/arIncome.length));
System.out.println("ZARA 총 매출액 : " + sum + "백만원");
System.out.println("평균 매출액" + avg + "만원");
+ 인센티브매장을 출력하자.(매출액 > 평균매출액인 매장 출력)
for(int i =0; i<arIncome.length; i++) {
if(arIncome[i]>avg) {
cnt++;
if(cnt == 1) best = "";
// best매장이 2.3개가 나올 수도 있으므로 "없음"의 best를 초기화해준다.
//처음에만 초기화해주세요. cnt == 1 일 때만 초기화해준다.
best += arName[i] + "\n"; // 그다음 "누적 연결"해준다.
//1번째 매장 -> 2번재 매장 출력
}
}
System.out.println("★인센티브 매장★\n"+best);
< 결과 > : 매출액이 다 다를경우
강남점의 매출액을 입력하세요.(단위 : 백만원)
300
코엑스점의 매출액을 입력하세요.(단위 : 백만원)
400
명동점의 매출액을 입력하세요.(단위 : 백만원)
500
ZARA 총 매출액 : 1200백만원
평균 매출액400.0만원
★인센티브 매장★
명동점
< 결과 > : 매출액이 다 같을경우 ( 인센티브 매장 "없음" 출력 )
강남점의 매출액을 입력하세요.(단위 : 백만원)
300
코엑스점의 매출액을 입력하세요.(단위 : 백만원)
300
명동점의 매출액을 입력하세요.(단위 : 백만원)
300
ZARA 총 매출액 : 900백만원
평균 매출액300.0만원
★인센티브 매장★
없음