Q1

import java.util.Scanner;

public class Q1 {

/*
 * 정수를 입력하세요: 8
 * 3의 배수도 5의 배수도 아닙니다.
 * 정수를 입력하세요: 3
 * 3의 배수입니다.
 */
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요: ");
		
		int input = sc.nextInt();
		
		boolean is3mul = input % 3 == 0;
		boolean is5mul = input % 5 == 0;
		
		String output = "";
		if(!(is3mul || is5mul)) {
			output = "3의 배수도 5의 배수도 아닙니다.";
		} else {
			output += (is3mul && is5mul ? "3과 " : (is3mul ? "3의 " : ""));
			output += (is5mul ? "5의 " : "");
			output += "배수입니다.";
		}
		
		System.out.println(output);
		sc.close();
	}

}

Q2

import java.util.Scanner;

public class Q2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수1 입력: ");
		int x = sc.nextInt();
		System.out.print("정수2 입력: ");
		int y = sc.nextInt();
		int min = (x < y) ? x : y;
		int max = (x < y) ? y : x;
		
		for(int i = min; i <= max; i++) {
			System.out.print(i+" ");
		}
		sc.close();
	}

}

Q3

class Account {
	private int num;
	private String name;
	private int balance;
	
	public Account(int num, String name) {
		this.num = num;
		this.name = name;
		this.balance = 0;
	}

	public Account(int num, String name, int balance) {
		this.num = num;
		this.name = name;
		this.balance = balance;
	}

	public int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getBalance() {
		return balance;
	}
	
	public void deposit(int money) {
		this.balance += money;
	}
	
	public void withdraw(int money) {
		this.balance -= money;
	}
	
	public void print() {
		System.out.printf("번호:%d\t이름:%s\t잔액:%d", this.num, this.name, this.balance);
	}
}

public class Q3 {

	public static void main(String[] args) {
		//기본 생성자로는 객체를 생성할 수 없게 한다. 아래의 코드는 에러가 나야 함.
		//Account ac = new Account();
		
		//계좌번호와 이름을 입력받는 생성자를 정의한다. 이 때 잔액은 0
		Account ac1 = new Account(1, "김철수");
		
		//계좌번호와 이름, 잔액을 모두 입력받는 생성자를 정의한다.
		Account ac2 = new Account(2, "이영희", 10000);
		
		//이름을 리턴하는 메소드를 정의한다. 결과는 "이영희" 출력
		System.out.println(ac2.getName());
		
		//잔액은 변경 불가능. 아래 코드 모두 에러
		//ac2.balance = 1000;
		//ac2.setBalance(1000);
		
		//입금을 하면 잔액이 변경된다. 아래는 잔액 1000원 증가
		ac2.deposit(1000);
		System.out.println(ac2.getBalance()); //11000 출력
		
		//출금을 하면 잔액이 변경된다. 아래는 잔액 2000원 감소
		ac2.withdraw(2000);
		System.out.println(ac2.getBalance());
		
		//print() 메소드를 호출하면 전체 정보가 출력된다.
		//아래는 "번호:2 이름:이영희 잔액:9000"라고 출력된다.
		ac2.print();
	}

}