private: 변수에 대해 접근을 제한합니다, 즉 클래스내에서만 쓸 수 있습니다.(주로 인스턴스변수에 쓰입니다)
protected: 패키지와 상관없이 상속했을때 자식까지 접근을 허용합니다.
default: 같은 패키지내에서는 언제든지 접근 가능하지만 다른 패키지에서는 접근 불가능합니다.
public:언제 어디서든 접근가능합니다.(함수에 주로 쓰입니다)
지역변수는 접근 제한자를 붙여도 어차피 범위가 그 블록 안에서만 사용할 수 있도록 작게 한정되어 있습니다. 따라서 접근제한자를 붙여도 의미가 없습니다. (매개변수 포함)
접근제한자 private 주고 다이렉트로 접근못하도록 컴파일에러를 줍니다.
머니:1456000
오만원29장
일만원0장
오천운1장
천원1장
오백원0장
백원0장
계속하시겠습니까?y,n
y
머니:1256000
오만원25장
일만원0장
오천운1장
천원1장
오백원0장
백원0장
계속하시겠습니까?y,n
y
머니:1256700
오만원25장
일만원0장
오천운1장
천원1장
오백원1장
백원2장
계속하시겠습니까?y,n
n
프로그램을 종료합니다.
package day_2024_07_23;
import java.util.Scanner;
class Money {
int money;
void setMoney(int money) {
this.money = money;
}
void show() {
int money50000, money10000, money5000, money1000, money500, money100;
int saveMoney = money;
money50000 = saveMoney / 50000;
saveMoney = saveMoney % 50000;
money10000 = saveMoney / 10000;
saveMoney = saveMoney % 10000;
money5000 = saveMoney / 5000;
saveMoney = saveMoney % 5000;
money1000 = saveMoney / 1000;
saveMoney = saveMoney % 1000;
money500 = saveMoney / 500;
saveMoney = saveMoney % 500;
money100 = saveMoney / 100;
saveMoney = saveMoney % 100;
System.out.println(money);
System.out.println("오만원:" + money50000 + "장");
System.out.println("만원:" + money10000 + "장");
System.out.println("오천원:" + money5000 + "장");
System.out.println("천원:" + money1000 + "장");
System.out.println("오백원:" + money500 + "개");
System.out.println("백원:" + money100 + "개");
}
}
public class MoneyMain {
public static void main(String[] args) {
Money money = new Money();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("머니: ");
int amount = sc.nextInt();
money.setMoney(amount);
money.show();
System.out.println("계속 하시겠습니까? y, n");
String yesOrNo = sc.next();
if (yesOrNo.equals("Y") || yesOrNo.equals("y")) {
continue;
} else {
break;
}
}
System.out.println("프로그램을 종료합니다.");
}
}
int randInt = (int) ((Math.random() * 50) + 1); 2. 기회 제공 : 기회를 5번 제공하는 경우 첫 판에 사용자에게 숫자를 입력 받고서 기회(int chance)를 줄이므로 변수에는 4를 넣는다. 3. 사용자가 입력한 숫자가 정답보다 작은 경우에는 UP!이라고 알려주고 반대로 정답보다 큰 숫자라면 DOWN이라고 알려주어야 한다.
package day_2024_07_23;
import java.util.Scanner;
public class UpDownGame {
public static void main(String[] args) {
int randomInt = (int) ((Math.random() * 50) + 1);
System.out.println("테스트용 랜덤숫자:"+randomInt);
int chances = 5;
Scanner scanner = new Scanner(System.in);
System.out.println("1부터 50까지의 숫자 중 정답을 맞춰보세요!");
while (chances > 0) {
System.out.print("숫자를 입력하세요: ");
int userNum = scanner.nextInt();
if (userNum < 1 || userNum > 50) {
System.out.println("1부터 50 사이의 숫자를 입력해주세요.");
continue;
}
if (userNum < randomInt) {
System.out.println("UP!");
} else if (userNum > randomInt) {
System.out.println("DOWN!");
} else {
System.out.println("축하합니다! 정답입니다.");
break;
}
chances--;
System.out.println("남은 기회: " + chances + "번");
if (chances == 0) {
System.out.println("모든 기회를 사용하셨습니다. 정답은 " + randomInt + "였습니다.");
}
}
scanner.close();
System.out.println("게임이 종료되었습니다.");
}
}