public class RefDemo1 {
public static void main(String[] args) {
int[] a = {10, 30, 40, 100};
int[] b = a;
System.out.println("a[0] -> " + a[0]);
System.out.println("b[0] -> " + b[0]);
b[0] = 300;
System.out.println("a[0] -> " + a[0]);
System.out.println("b[0] -> " + b[0]);
b = null;
System.out.println("a[0] -> " + a[0]);
System.out.println("b[0] -> " + b[0]);
}
}
public class RefDemo2 {
public static void main(String[] args) {
int[] numbers = new int[3];
double[] scores = new double[5];
String[] names = new String[3];
System.out.println(numbers[0]);
System.out.println(scores[0]);
System.out.println(names[0]);
}
}
public class ArrayDemo1 {
public static void main(String[] args) {
// 여러개의 데이터를 단일한 이름으로 관리 -- 배열
int[] numbers = {10, 14, 20, 3, 15};
/*
System.out.println(numbers[0]);
System.out.println(numbers[1]);
System.out.println(numbers[2]);
System.out.println(numbers[3]);
System.out.println(numbers[4]);
*/
/*
for (int x=0; x<=4; x++) {
System.out.println(numbers[x]);
}
*/
for (int a : numbers) { // for (배열의 아이템을 담을 그릇 : 반복 처리할 배열) {} 인핸스드 for문
System.out.println(a);
}
}
}
public class ArrayDemo2 {
public static void main(String[] args) {
int[] numbers = new int[3];
double[] scores = new double[5];
String[] names = new String[3];
System.out.println(numbers[0]);
System.out.println(scores[0]);
System.out.println(names[0]);
// 배열의 길이를 조회한다.
System.out.println(numbers.length);
System.out.println(scores.length);
System.out.println(names.length);
// 배열에 값을 저장하기
numbers[0] = 100;
numbers[1] = 200;
numbers[2] = 150;
names[0] = "홍길동";
names[1] = "이순신";
names[2] = "강감찬";
names[3] = "김유신"; // 배열의 인덱스 범위를 초과
}
}
public class ArrayDemo3 {
public static void main(String[] args) {
if (args.length == 2) {
System.out.println(args[0]);
System.out.println(args[1]);
} else {
System.out.println("명령행 인자의 개수가 올바르지 않습니다.");
}
}
}
public class ArrayDemo4 {
public static void main(String[] args) {
int[] scores = {70, 20, 50, 44, 28, 70, 80, 100};
System.out.println("국어 점수 리스트");
for (int x : scores) { // enhanced for문
System.out.println(x);
}
int total = 0;
int average = 0;
int min = 100; // 예상되는 가장 큰 값을 담고 시작한다.
int max = 0; // 예상되는 가장 작은 값을 담고 시작한다.
for (int x : scores) {
total = total + x;
}
average = total/scores.length;
System.out.println("총점 : " + total);
System.out.println("평균 : " + average);
// 최솟값 구하기
// 배열의 값을 하나씩 꺼내서 min에 저장된 값과 비교해서
// min 값보다 꺼낸 값이 작다면 min의 값을 지금 꺼낸 값으로 교체한다.
for (int x : scores) {
if (x < min) {
min = x;
}
}
System.out.println("최솟값 : " + min);
// 최댓값 구하기
// 배열의 값을 하나씩 꺼내서 max에 저장된 값과 비교해서
// max값보다 꺼낸 값이 크다면 max의 값을 지금 꺼낸 값으로 교체한다.
for (int x : scores) {
if (x > max) {
max = x;
}
}
System.out.println("최댓값 : " + max);
}
}
public class ArrayDemo5 {
public static void main(String[] args) {
/*
int[][] arr = new int[2][3];
arr[0][0] = 20;
arr[0][1] = 50;
arr[0][2] = 60;
arr[1][0] = 100;
arr[1][1] = 90;
arr[1][2] = 80;
*/
int[][] arr = {{20, 50, 60}, {100, 90, 80}};
for (int x=0; x<2; x++) {
for (int y=0; y<3; y++) {
System.out.println(arr[x][y]);
}
}
}
}
import java.util.Scanner;
public class ArrayDemo6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int studentNumbers = 0; // 학생 수
int[] scores = null; // 점수를 저장하는 배열
for (;;) {
System.out.println("---------------------------------------------------------------");
System.out.println(" 1. 학생 수 | 2. 점수 입력 | 3. 점수 리스트 | 4. 분석 | 0. 종료");
System.out.println("---------------------------------------------------------------");
System.out.print("선택> ");
int selectedNo = scanner.nextInt();
if (selectedNo == 1 ) {
System.out.println("학생 수> " );
studentNumbers = scanner.nextInt();
scores = new int[studentNumbers]; // 입력된 학생 수만큼의 크기를 가지는 배열을 생성해서 scores에 그 주소를 담는다.
} else if (selectedNo == 2 ) {
for (int i=0; i<studentNumbers; i++) {
System.out.print("[" + i + "]번 째 점수 입력> ");
int score = scanner.nextInt();
scores[i] = score;
}
} else if (selectedNo == 3 ) {
for (int score : scores) {
System.out.print(score + " ");
}
} else if (selectedNo == 4 ) {
int total = 0;
int highScore = 0;
for (int score : scores) {
total = total + score;
if (score > highScore) {
highScore = score;
}
}
System.out.println("최고 점수: " + highScore);
System.out.println("총 점: " + total);
System.out.println("평 균: " + total/studentNumbers);
} else if (selectedNo == 0 ) {
System.out.println("프로그램 종료");
break;
}
System.out.println("\n\n\n");
}
}
}
import java.util.Scanner;
public class ArrayDemo7 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("이름 입력> ");
String name = scanner.next(); // scanner.next() -> 문자열을 읽어온다.
System.out.print("나이 입력> ");
int age = scanner.nextInt(); // scanner.nextInt() -> 숫자를 읽어온다.
System.out.print("연락처 입력> ");
String tel = scanner.next();
System.out.print("몸무게 입력> ");
double weight = scanner.nextDouble(); // scanner.nextDouble() -> 실수를 읽어온다.
System.out.println("이름 " + name);
System.out.println("나이 " + age);
System.out.println("연락처 " + tel);
}
}
import java.util.Scanner;
public class ArrayDemo8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int productNumbers = 0;
String[] productNames = null;
int[] productPrices = null;
for (;;) {
System.out.println("---------------------------------------------------------------");
System.out.println(" 1. 전체 개수 | 2. 구매 상품 정보 입력 | 3. 영수증 출력 0. 종료");
System.out.println("---------------------------------------------------------------");
System.out.print("메뉴 선택> ");
int selectNo = scanner.nextInt();
if (selectNo == 1) {
/*
전체 상품 개수를 입력받는다.
전체 상품 개수만큼 상품 이름을 담는 배열과, 상품 가격을 담는 배열을 생성한다.
*/
System.out.print("전체 개수> ");
productNumbers = scanner.nextInt();
productNames = new String[productNumbers];
productPrices = new int[productNumbers];
} else if (selectNo == 2) {
/*
전체 상품 개수만큼 상품 이름과 상품 가격을 입력받는 작업을 반복한다.
상품 이름과 상품 가격을 각각 입력받아서 해당 배열에 순서대로 저장한다.
*/
for (int x=0 ; x < productNumbers ; x++) {
System.out.print("상품의 이름을 입력> ");
String productName = scanner.next();
productNames[x] = productName;
System.out.print("상품의 가격 입력> ");
int productPrice = scanner.nextInt();
productPrices[x] = productPrice;
}
} else if (selectNo == 3) {
/*
전체 상품 이름과 상품 가격을 화면에 출력한다(enhanced for문 사용 불가).
*/
int total = 0;
for (int z=0; z < productNumbers; z++) {
System.out.println(productNames[z] + "\t\t\t\t" + productPrices[z]);
total = total + productPrices[z];
}
System.out.println("합계" + total);
} else if (selectNo == 0) {
System.out.println("프로그램 종료");
break;
}
System.out.println("\n\n");
}
}
}
import java.util.Scanner;
public class ArrayDemo9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int productKind = 0;
String[] productNames = null;
int[] buycounts = null;
int[] unitPrices = null;
for (;;) {
System.out.println("---------------------------------------------------------------");
System.out.println(" 1. 상품 종류 | 2. 구매 상품 정보 입력 | 3. 영수증 출력 0. 종료");
System.out.println("---------------------------------------------------------------");
System.out.print("메뉴 선택> ");
int selectNo = scanner.nextInt();
if (selectNo == 1) {
System.out.print("상품 종류 입력> ");
productKind = scanner.nextInt();
productNames = new String[productKind];
buycounts = new int[productKind];
unitPrices = new int[productKind];
} else if (selectNo == 2) {
for (int x=0 ; x < productKind ; x++) {
System.out.print("상품의 이름을 입력> ");
String productName = scanner.next();
productNames[x] = productName;
System.out.print("구매 수량을 입력> ");
int buycount = scanner.nextInt();
buycounts[x] = buycount;
System.out.print("단가를 입력> ");
int unitPrice = scanner.nextInt();
unitPrices[x] = unitPrice;
}
} else if (selectNo == 3) {
System.out.println("---------------------------------------------------------------");
System.out.println("상품명\t\t 구매 수량\t\t단가\t\t가격");
System.out.println("---------------------------------------------------------------");
int totalBuycounts = 0;
int total = 0;
for (int x=0; x<productKind; x++) {
System.out.println(productNames[x] + "\t\t\t" + buycounts[x] + "\t\t" + unitPrices[x] + "\t\t" + buycounts[x]*unitPrices[x]);
totalBuycounts = totalBuycounts + buycounts[x];
total = total + buycounts[x]*unitPrices[x];
}
System.out.println("---------------------------------------------------------------");
System.out.println("합계 : " + "\t\t\t" + totalBuycounts + "\t\t\t\t" + total);
} else if (selectNo == 0) {
System.out.print("종료");
break;
}
}
}
}
'자바 > basic' 카테고리의 다른 글
BookProgram2, IfDemo7, SwitchDemo1, ForDemo14(4 없음).java (0) | 2019.06.07 |
---|---|
Sample2, VarDemo4, TypeDemo5, CastingDemo3, OpDemo12.java(변수, 자료형, 형변환, 연산자) (0) | 2019.06.07 |