package day08;
public class ArTest {
public static void main(String[] args) {
int[]arData=new int[4];
System.out.println(arData);
}
}
[I@5e91993f
[ 배열
I 인티져타입
@구분점
5e91993f 시작 주소
package day08;
public class ArTest {
public static void main(String[] args) {
int[]arData=new int[4];
System.out.println(arData);
System.out.println(arData[0]);
}
}
[I@5e91993f
0
new를 넣어 초기화가 되었기 때문에 배열 [0]은 0으로 나온다
package day08;
public class ArTest {
public static void main(String[] args) {
int[]arData=new int[4];
System.out.println(arData);
arData[0]=10;
System.out.println(arData[0]);
}
}
출력 전에 배열의 [0] 번째에 10을 넣으면 10으로 출력 된다
n번째의 값만 알고 싶을 때
package day08;
public class ArTest {
public static void main(String[] args) {
int arPrice[]= {1000,2000,3250};
for (int i = 0; i < arPrice.length; i++) {
if(arPrice[i]==2000) {
System.out.println("콜라가 있습니다");
}
}
}
}
콜라가 있습니다
for문 내부에 if문으로 조건을 준다 배열의[i]번째의 값과 동일할 때 실행할 문구 출력하기
for (int i = 0; i < arPrice.length; i++) {
// if(arPrice[i]==2000) {
// System.out.println("콜라가 있습니다");
// }
System.out.println(arPrice[i]);
}
1000
2000
3250
배열인덱스는 왜 0부터 시작하는가?
변수명이 시작주소를 가지고 있으므로 포인터연산 쓸 때 +0이다
그걸 대괄호로 치환하게 되면 0부터 인덱스가 시작할 수 밖에 없다
for문 사용하여 배열에 담긴 값 출력하기
package day08;
public class ArTask {
public static void main(String[] args) {
//배열 선언 후 1~5까지의 값 넣기 (for문 사용)
int [] arNum = new int[5];
int [] arNum2 = new int[10];
for (int i = 0; i < arNum.length; i++) {
arNum[i]=i+1;
}
for (int i = 0; i < arNum.length; i++) {
System.out.println(arNum[i]);
}
//배열 선언 후 10~1까지 값 넣기 (for문)
for (int i = 0; i < arNum2.length; i++) {
arNum2[i]= 10-i;
System.out.println(arNum2[i]);
}
}
}
아파트 평균 월세 구하기
package day09;
import java.util.Scanner;
public class ArTest {
//아파트 월세 관리 프로그램
//1동
//1호 2호 3호
//평균월세와 총 월세 구하기
public static void main(String[] args) {
int [] ho = new int[3];
int sum=0;
double avg=0.0;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < ho.length; i++) {
System.out.println(i+1 + "호 월세를 입력하세요(단위:만원)");
ho[i]=sc.nextInt();
//System.out.println(ho[i]);
}
for (int i = 0; i < ho.length; i++) {
sum+=ho[i];
}
System.out.println("총 월세: " + sum +"만원");
avg = Double.parseDouble(String.format("%.2f",(double)sum/ho.length));
System.out.println("평균월세: "+avg +"만원");
}
}
1호 월세를 입력하세요(단위:만원)
50
2호 월세를 입력하세요(단위:만원)
20
3호 월세를 입력하세요(단위:만원)
45
총 월세: 115만원
평균월세: 38.33만원
avg = Double.parseDouble(String.format("%.2f",(double)sum/ho.length));
String.format 앞에 있는 문자열을 뒤에 있는 값으로 바꿔준 다음 그 전체적인 형태가 문자열 타입으로 된다
따라서 평균월세값인 38.33 이 문자열로 되는 것
parseDouble
String은 클래스타입이므로 앞에 클래스타입으로 받는다
예제
package day09;
import java.util.Iterator;
import java.util.Scanner;
public class ArShop {
//매출액 구하기
//zara
//강남점, 코엑스점, 명동점
//단위: 백만원
//단, 평균 매출액은 만원 단위까지 출력한다. 소수점 2째 자리 까지
public static void main(String[] args) {
int [] arIncome = new int[3];
String [] arName= {"강남점","코엑스점","명동점"};
int sum=0;
int cnt=0;
double avg=0.0;
String best = "없음"; //초기값을 없음으로 하기, 해당하는 값이 없으면 if문에 들어가지 않는다
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arIncome.length; i++) {
System.out.println(arName[i] + "매출액을 입력하세요: (단위:백만원)");
arIncome[i]=sc.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 += arName[i] + "\n";
}
}
System.out.println("★인센티브 매장★\n" + best);
}
}
강남점매출액을 입력하세요: (단위:백만원)
90
코엑스점매출액을 입력하세요: (단위:백만원)
100
명동점매출액을 입력하세요: (단위:백만원)
98
zara 총 매출액 : 288백만원
평균 매출액 : 96.0만원
★인센티브 매장★
코엑스점
명동점
'Dev. > java' 카테고리의 다른 글
Java 메서드 2 (0) | 2022.05.22 |
---|---|
Java 2차원 배열로 매장별 매출 구하기 (0) | 2022.05.21 |
Java class/method 연습문제 (0) | 2022.05.16 |
Java 영화관 키오스크 만들기 (0) | 2022.05.16 |
Java 계산기 만들기 (0) | 2022.05.15 |
댓글