/*
* 1. 예금 2. 출금 3. 잔고 4. 종료 선택
*
*
*
* 뭐지 스위치 케이스로 만드는게 아닌가 if로도 만들 수 있긴한데
*
*
*/
Scanner scan = new Scanner(System.in);
int num1 = 0, num2 = 0; // 1은 잔고 2는 금액입력
String var = ""; // 선택
boolean run = true;
System.out.println("-------------------------------");
System.out.println("1. 예금 2. 출금 3. 잔고 4. 종료");
System.out.println("-------------------------------");
do {
System.out.print("선택 > ");
var = scan.nextLine(); //scan이 오류로 Int랑 Line랑 섞이면서 두번 입력됨
// BefferedReader 쓰자
switch (var) {
case "예금":
System.out.print("예금액 : ");
num2 = scan.nextInt();
num1 += num2;
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
break;
case "출금":
System.out.print("출금액 : ");
num2 = scan.nextInt();
if (num1 > num2) {
num1 -= num2;
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
} else {
System.out.println("잔고가 부족합니다.");
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
}
break;
case "잔고":
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
break;
case "종료":
System.out.println("종료합니다.");
run = false;
break;
default:
System.out.println("잘못입력했습니다");
break;
}
scan.nextLine();
} while (run);
scan.close();
이거는 스캐너가 이상해서 좀 별로임
bufferedReader쓰는게 좋아
/*
* 1. 예금 2. 출금 3. 잔고 4. 종료 선택
*
*
*
* 뭐지 스위치 케이스로 만드는게 아닌가 if로도 만들 수 있긴한데
*
*
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num1 = 0, num2 = 0; // 1은 잔고 2는 금액입력
String var = ""; // 선택
boolean run = true;
System.out.println("-------------------------------");
System.out.println("1. 예금 2. 출금 3. 잔고 4. 종료");
System.out.println("-------------------------------");
do {
System.out.print("선택 > ");
var = br.readLine();
switch (var) {
case "예금":
System.out.print("예금액 : ");
num2 = Integer.parseInt(br.readLine());
num1 += num2;
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
break;
case "출금":
System.out.print("출금액 : ");
num2 = Integer.parseInt(br.readLine());
if (num1 > num2) {
num1 -= num2;
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
} else {
System.out.println("잔고가 부족합니다.");
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
}
break;
case "잔고":
System.out.println("현재 잔액은 " + num1 + " 원 입니다.");
break;
case "종료":
System.out.println("종료합니다.");
run = false;
break;
default:
System.out.println("잘못입력했습니다");
break;
}
} while (run);
br.close();
드디어 배열!!!!
기존 변수 : 변수 하나에 데이터(객체)를 하나 담는 구조
배열 : 배열 하나에 여러 개의 데이터를 담을 수 있음.
단, 같은 타입이여야 함!
인덱스(index)가 존재하고 인덱스를 통해 해당 데이터에 접근할 수 있음.
인덱스 번호는 0번 부터 시작
a 배열 (4개 공간/데이터)

표가 안되니 스샷으로
크기 : 4
인덱스 : 3
a[0] = 7
print(a[0]); = 7
크기를 유동적으로 바꿀 수 없음.
배열 내부 데이터 추가, 삭제 등이 불편함.
크기가 5인 정수형 배열
int a[] = new int[5];
1, 2, 3의 데이터를 갖는 정수형 배열
int[] b = {1, 2, 3};
문자열 배열
String strVar[] ={“가나”, “다라”. “ab”, “cd”};

System.out.println(num[0]);
System.out.println(strvar1[3]);
num[1] = 99;
num배열의 1인덱스 자리를 99로 바꾼다
String strVar[1] = “바보”;
배열에 몇 개의 데이터가 들어있는지
.length
System.out.println(num.length);
num 배열의 데이터 크기 확인
변수로 지정해서 사용가능
int numSize = num.length;
int[] arr = new int[3];
arr배열의 크기는 3 인덱스는 0~2
배열 안의 기본값은 0으로 되어있다.
배열의 크기는 사용하기 전 언제든지 정할 수 있다
int[] num = null;
위에 배열을 만들어 두고
어디든지 가서 배열의 크기를 바꿀 수 있다.
num = new int[5];
import java.util.Arrays; 설치용
Arrays.sort(배열 이름);
을 사용하면 배열 안을 크기 순으로 정리해준다
배열의 0번 인덱스는 최솟값 끝 번호는 최댓값이다.
이거는 백준 알고리즘 문제 풀려고 찾은 것이다.
아니 내가 만든것도 되는데 왜 안해주는거야 짜증나
// 34, 555,7898, 1111이 들어 있는 정수형 배열 num을 선언하고
// 이 배열에 들어잇는 값을 출력해보세요
int[] arr = { 34, 555, 7897, 1111 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 총합과 평균을 계산
int result = 0;
for (int i = 0; i < arr.length; i++) {
result += arr[i];
}
System.out.println("총합 : " + result);
System.out.println("평균 : " + (result / arr.length));
/*
* 크기가 3인 정수형 배열을 선언하고 스캐너를 이용해 배열에 데이터를 저장하고 저장된 값의 총합, 평균을 계산하시오
*/
Scanner scan = new Scanner(System.in);
int[] arr = new int[3];// 배열
int num = 0;// 입력
int sum = 0;
for (int i = 0; i < arr.length; i++) {
System.out.print((i+1)+"번 정수 입력 : ");
num = scan.nextInt();
arr[i] = num;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("총합 : " + sum);
System.out.println("평균 : " + (sum / arr.length));
/*
* 크기가 5인 정수형 배열을 선언하고 스캐너로 값을 받은뒤 입력 받은 값 중에서 가장 큰 값을 출력하시오
*
*/
Scanner scan = new Scanner(System.in);
int[] arr = new int[5]; // 배열
int num = 0;// 받는 숫자
int max = 0; // 최대값을 구하기 위해 만듬
for (int i = 0; i < arr.length; i++) {
System.out.print((i + 1) + "번 정수 입력 : ");
num = scan.nextInt();
arr[i] = num;
if (arr[i] > max) {
max = arr[i];// 최댓값 구하기 끝
}
} // 배열 만들기 끝
System.out.println("최댓값은 " + max);
scan.close();
/*
* 아래와 같이 배열이 있을 때 어떤 숫자가 몇번 인덱스에 있는지
* 출력 8을 입력하면 8은 9번 인덱스에 있습니다.
*/
Scanner scan = new Scanner(System.in);
int num[] = { 5, 2, 1, 3, 4, 7, 6, 9, 10, 8 };
boolean run = true;
int num2 = 0;
System.out.print("정수를 입력하세요 : ");
while (run) {
num2 = scan.nextInt();
if (num2 > 0 && num2 < 11) {
for (int i = 0; i < num.length; i++) {
if (num[i] == num2) {
System.out.println(num2 + "는 " + i + "번 인덱스에 있습니다.");
run = false;
}
}
} else {
System.out.print("다시 입력하세요 : ");
}
}
scan.close();
/*
* 거스름 돈 계산하기
*/
Scanner scan = new Scanner(System.in);
int[] coin = { 500, 100, 50, 10 };
int num1 = 0; // 거스름 돈
int num2 = 0; // 남은돈
System.out.print("거스름 돈 : ");
num1 = scan.nextInt();
for (int i = 0; i < coin.length; i++) {
if (num1 > coin[i]) {
num2 = num1 / coin[i];
num1 -= (num2*coin[i]);
System.out.println(coin[i]+"원 "+num2+"개");
System.out.println(num1+"원 남음");
}
}
이제부터 코드 만들 때 옆에 주석으로 하나하나 설명을 써가면서 만들어야겠다
이거도 처음부터 연습해야지 나중에 자연스럽게 하지
아 맞다 깃허브도 해야하는데
빨리하고 자야지