MethodMain
package kr.s07.object.method;
public class MethodMain01 {
//반환하는 데이터가 있는 경우
//int = 반환형
public int add(int a, int b) { //add는 메서드명. a와b는 인자.
return a+b;//반환하는 데이터
}
//반환하는 데이터가 없는 경우 void를 사용
public void print(String str) {
System.out.println(str);
//void에서 return;을 쓰면 함수를 빠져나갈 때 void는 생략가능
}
public static void main(String[] args) {
//객체 선언 및 생성
MethodMain01 method = new MethodMain01();
//객체의 멤버 메서드 호출
int result = method.add(5, 8);
System.out.println("result =" + result);
method.print("오늘은 월요일");
}
}
result =13
오늘은 월요일
package kr.s07.object.method;
public class MethodMain02 {
/*
* [실습]
* 입력한 int형 정수값이 음수이면 -1을,0이면 0을, 양수이면 1을 반환
* 하는 signOf 메서드를 작성하자.
*/
public int signOf(int n) {
if(n>0) {
return 1;
}else if (n == 0) {
return 0;
}else
return -1;
}
/*강사님 코드
* public int signOf(int n) {
* int sigh = 0;
if(n>0) {
sigh = 1;
}else if (n < 0) {
sigh = -1;
}
return sigh;
}
*/
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner (System.in);
System.out.print("정수 x:");
int x = input.nextInt();
MethodMain02 so = new MethodMain02();
int result = so.signOf(x);
System.out.println("sighOf(x)는 "+result+"입니다");
input.close();
}
}
정수 x:1
sighOf(x)는 1입니다
package kr.s07.object.method;
public class MethodMain03 {
/*
* [실습]
* 배열의 요소 수를 입력 받아서 배열 x 생성
* 입력받은 정수를 배열x에 저장하고
* 배열 x가 가진 모든 요소의 합을 구하는 sumOf(int[] a) 메서드
* 정의하시오.
*
* [입력예시]
* 요소 수:3
* x[0] = 1
* x[1] = 2
* x[2] = 3
*
* [결과 예시]
* 모든 요소의 합은 6입니다.
*/
public int sumOf(int[] a) {
int sum = 0;
for(int i=0; i<a.length ; i++) {
sum+=a[i];
}
return sum;
}
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner (System.in);
//요소
System.out.print("요소 수:");
int num = input.nextInt();
//num개의 요소를 가지는 배열
int[] x = new int[num];
for (int i=0; i<num; i ++) {
System.out.print("x["+i+"]:");
x[i] = input.nextInt();
}
MethodMain03 me = new MethodMain03();
int result = me.sumOf(x);
System.out.println("모든 요소의 합은 "+ result +"입니다.");
input.close();
}
}
요소 수:3
x[0]:1
x[1]:2
x[2]:3
모든 요소의 합은 6입니다.
package kr.s07.object.method;
public class MethodMain04 {
/*
* [실습]
* 배열 요소 수(사람 수) 를 입력 받아서 배열 weight 생성.
* 입력 받은 정수를 배열 weight에 저장하고 배열 weight가 가진
* 모든 요소의 수 중 최소값을 구하는 minOf 메서드를 작성하시오.
*
* [입력 예시]
* 사람 수:3
* 1번의 몸무게:90
* 2번의 몸무게:88
* 3번의 몸무게:91
*
* 가장 마른 사람의 몸무게는 90kg 입니다.
*
*/
public int minOf(int[] a) {
int min = a[0];
for(int i = 1; i<a.length; i++) {
if (a[i] < min ) {
min = a[i];
}
}
return min; //return은 오직 한 개의 값만 반환. 인자는 여러개가 되긴해도 return 값은 무적권 1개
//max를 하고 싶으면 메서드를 새로 만들어줘야됨.
}
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner(System.in);
System.out.print("사람 수 : ");
int num = input.nextInt();
//num개의 요소를 가지는 배열
int[] weight = new int[num];
for (int i=0; i<num; i ++) {
System.out.print((i+1)+"번의 몸무게 : ");
weight[i] = input.nextInt();
}
//객체 선언 및 생성
MethodMain04 me = new MethodMain04();
int result = me.minOf(weight);
System.out.println("가장 마른 사람의 몸무게는 "+ result +"kg입니다.");
input.close();
}
}
사람 수 : 3
1번의 몸무게 : 90
2번의 몸무게 : 88
3번의 몸무게 : 91
가장 마른 사람의 몸무게는 88kg입니다.
실습
package kr.s07.object.method;
public class StudentMain {
//멤버 필드(속성)
String name;
int korean;
int english;
int math;
//멤버 메서드(동작)
//총점 구하기
public int makeSum() {
return korean +english +math;
}
//평균 구하기
public int makeAverage() {
return makeSum()/3;
}
//등급 구하기
public String makeGrade() {
String grade;
switch(makeAverage()/10) { //메서드를 실행(불러오기)을 시키기 위해선 메서드 뒤에 ()가 있어야됨.
case 10:
case 9:
grade = "A"; break;
case 8:
grade ="B"; break;
case 7:
grade = "C"; break;
case 6:
grade = "D"; break;
default :
grade = "F";
}
return grade;
}
//성적 출력용 메서드
public void printScore() {
System.out.println("이름 : "+name);
System.out.println("국어 : "+korean);
System.out.println("영어 : "+english);
System.out.println("수학 : "+math);
System.out.println("총점 : "+makeSum());
System.out.println("평균 : "+makeAverage());
System.out.println("등급 : "+makeGrade());
}
public static void main(String[] args) {
StudentMain student = new StudentMain();
student.name = "홍길동";
student.korean = 98;
student.english = 97;
student.math = 96;
student.printScore();
System.out.println("================================");
StudentMain student2 = new StudentMain();
student2.name = "김영희";
student2.korean = 91;
student2.english = 99;
student2.math = 79;
student.printScore();
}
}
이름 : 홍길동
국어 : 98
영어 : 97
수학 : 96
총점 : 291
평균 : 97
등급 : A
================================
이름 : 홍길동
국어 : 98
영어 : 97
수학 : 96
총점 : 291
평균 : 97
등급 : A
package kr.s07.object.method;
class Tv{
//멤버 필드(속성)
boolean power; //전원 상태(on/off)
int channel; //채널
//멤버 메서드(동작)
public void isPower() { //Tv를 켜거나 끄는 기능을 수행하는 메서드
power = !power;
}
public void channelUp() {//Tv의 채널을 높이는 기능을 수행하는 메서드
++channel;
}
public void channelDown() {//Tv의 채널을 낮추는 기능을 수행하는 메서드
--channel;
}
}
public class TvMain {
public static void main(String[] args) {
//객체 선언 및 초기화
Tv t = new Tv();
t.isPower();//power의 값은 false -> true
System.out.println("TV 실행 여부 : "+ t.power);
System.out.println("현재 채널:"+ t.channel);
System.out.println("=====================");
t.channel = 7;
System.out.println("첫번째 변경된 채널:" +t.channel);
System.out.println("=====================");
t.channelDown();
System.out.println("두번째 변경된 채널:" +t.channel);
System.out.println("=====================");
t.isPower();//true -> false
System.out.println("TV 실행 여부 : "+ t.power);
}
}
TV 실행 여부 : true
현재 채널:0
=====================
첫번째 변경된 채널:7
=====================
두번째 변경된 채널:6
=====================
TV 실행 여부 : false
package kr.s07.object.method;
class Worker {
/*
* [실습]
* Worker
* 1)멤버 변수: 직원이름(name),급여(money),계좌잔고(balance)
* 2)멤버 메서드: work(실행하면 money에 1000원 누적)
* deposite(실행하면 money에 저장된 돈을
* balance에 누적시키고 money는 0처리)
* WorkerMain의 main
* 1)Worker 객체 생성
* 2)직원의 이름 지정
* 3)10번 일하는데 번 돈이 3000원일 때 마다 계좌에 저축
* 4)직원 이름, 현재 계좌에 입금되지 않고 남아있는 급여(money),
* 계좌 잔고(balance)를 출력하시오.
*/
String name;
int money;
int balance;
public void work() {//일하는 메서드
money +=1000;
}
public void deposite() {//저축하는 메서드
balance += money;
money = 0;
}
}
public class WorkerMain {
public static void main(String[] args) {
Worker wk = new Worker();
wk.name = "구승회";
//10번 일하는데 번 돈이 3000원이 되면 저축
for (int i =0 ; i <10; i++) {
wk.work();
if (wk.money ==3000) {//wk.money%3000==0 도 가능
wk.deposite();
}
}
System.out.println("직원이름:"+wk.name);
System.out.println("현재 계좌에 입금되지 않고 남아있는 급여:"+wk.money);
System.out.println("계좌잔고:"+wk.balance);
}
}
직원이름:구승회
현재 계좌에 입금되지 않고 남아있는 급여:1000
계좌잔고:9000
MethodArg
package kr.s08.object.method;
import java.util.Scanner;
class Account {
//멤버 변수
String account_num;//계좌번호 String으로 한 이유는 계좌번호의 하이픈(-)이 있어서
String name;//예금주
int balance;//잔고
//멤버 메서드
//예금하기
public void deposite(int money) {
if(money <=0) {
System.out.println("입금액은 0보다 크게 입력하세요!");
}else {
balance +=money;//누적
System.out.println("입금이 완료되었습니다.");
}
}
//출금하기
public void withdraw(int money) {
if(money <=0) {
System.out.println("출금액은 0보다 크게 입력하세요!");
}else if(balance < money) {
System.out.println("잔액이 부족합니다.");
}else {
balance -= money;//차감
System.out.println("출금이 완료되었습니다.");
}
}
//계좌정보
public void printAccount() {
System.out.println("계좌번호:"+account_num);
System.out.println("예금주:"+name);
System.out.printf("잔고:%,d원%n",balance);
}
}
public class BankMain {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//계좌 생성
Account account = new Account();
//계좌 기본 정보 입력
System.out.println("계좌 기본정보를 입력해서 계좌를 생성합니다.");
System.out.print("계좌번호를 입력하시오:");
account.account_num = input.nextLine();
System.out.print("예금주:");
account.name = input.nextLine();
System.out.print("잔고:");
account.balance = input.nextInt();
System.out.println(account.name + "님 계좌가 개설되었습니다.");
while(true) {
System.out.println("=============================");
System.out.println("|1.예금,2.출금3.잔고 확인,4.종료|");
System.out.println("=============================");
System.out.print("메뉴 선택>");
int num = input.nextInt();
if (num==1) {//예금
System.out.print("예금액>");
account.deposite(input.nextInt()); //코드 짧게 하는방법
}
else if(num ==2) {//출금
System.out.print("출금액>");
account.withdraw(input.nextInt());
}
else if(num==3) {//잔고확인
account.printAccount();
}
else if(num==4) {//종료
System.out.println("프로그램 종료");
break;
}
else {
System.out.println("잘못 입력했습니다.");
}
}input.close();
}
}
계좌 기본정보를 입력해서 계좌를 생성합니다.
계좌번호를 입력하시오:123-456-789
예금주:구승회
잔고:123,456,789
구승회님 계좌가 개설되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>1
예금액>1000
입금이 완료되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>3
계좌번호:123-456-789
예금주:구승회
잔고:123,457,789원
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>2
출금액>1000
출금이 완료되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>3
계좌번호:123-456-789
예금주:구승회
잔고:123,456,789원
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>4
프로그램 종료
package kr.s08.object.method;
public class MethodArgMain01 {
//인자 전달 방법: 값 호출 (Call by value)
//기본 자료형의 값을 인자로 전달하는 방식. 값을 복사하여 전달
public int increase(int n) {
++n;
return n;
}
public static void main(String[] args) {
int var1 =100;
MethodArgMain01 ma = new MethodArgMain01();
int var2 = ma.increase(var1);
System.out.println("var1 = "+var1+","+"var1 = "+var2);
}
}
var1 = 100,var1 = 101
package kr.s08.object.method;
import java.lang.reflect.Method;
public class MethodArgMain02 {
//인자 전달 방식: 참조 호출(Call by reference)
//객체의 주소를 인자로 전달하는 방식. 주소(reference)를 복사하여 전달
public void increase(int[] n){ //배열도 객체임.
for(int i =0; i<n.length;i++) {
n[i]++; //ex: 100 200 300 -> 101 201 301
}
}
public static void main(String[] args) {
//배열 선언 및 생성,초기화
int[] ref1 = {100,200,300};
System.out.println("====데이터 변경 전=====");
for(int i =0; i<ref1.length; i++) {
System.out.println("ref1["+i+"}:"+ref1[i]);
}
MethodArgMain02 ma = new MethodArgMain02();
ma.increase(ref1);
System.out.println("===데이터 변경 후 ====");
for(int i =0; i<ref1.length; i++) {
System.out.println("ref1["+i+"}:"+ref1[i]);
}
}
}
var1 = 100,var1 = 101
package kr.s08.object.method;
public class MethodArgMain03 {
/*
* Variable Arguments
* 자료형이 일치할 때 전달하고자 하는 값의 개수를 다르게 지정할 수 있음
* 전달되는 데이터는 내부적으로 배열로 인식함
*/
public void argTest(int ... n) { //n은 배열을 가르키는 배열명임.
for(int i = 0; i<n.length; i++) {
System.out.println("n["+i+"]:"+ n[i] );
}
System.out.println("==================");
}
public static void main(String[] args) {
MethodArgMain03 ma = new MethodArgMain03();
ma.argTest();
ma.argTest(1);
ma.argTest(10,20,30);
}
}
==================
n[0]:1
==================
n[0]:10
n[1]:20
n[2]:30
==================
'쌍용교육(JAVA) > JAVA' 카테고리의 다른 글
쌍용교육 -JAVA 수업 8일차 Pack (0) | 2024.04.11 |
---|---|
쌍용교육 -JAVA 수업 8일차 Overloading (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 7일차 Instance 객체 선언 및 생성 (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 6~7일차 field (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 5~6일차 Array 배열 (0) | 2024.04.11 |
MethodMain
package kr.s07.object.method;
public class MethodMain01 {
//반환하는 데이터가 있는 경우
//int = 반환형
public int add(int a, int b) { //add는 메서드명. a와b는 인자.
return a+b;//반환하는 데이터
}
//반환하는 데이터가 없는 경우 void를 사용
public void print(String str) {
System.out.println(str);
//void에서 return;을 쓰면 함수를 빠져나갈 때 void는 생략가능
}
public static void main(String[] args) {
//객체 선언 및 생성
MethodMain01 method = new MethodMain01();
//객체의 멤버 메서드 호출
int result = method.add(5, 8);
System.out.println("result =" + result);
method.print("오늘은 월요일");
}
}
result =13
오늘은 월요일
package kr.s07.object.method;
public class MethodMain02 {
/*
* [실습]
* 입력한 int형 정수값이 음수이면 -1을,0이면 0을, 양수이면 1을 반환
* 하는 signOf 메서드를 작성하자.
*/
public int signOf(int n) {
if(n>0) {
return 1;
}else if (n == 0) {
return 0;
}else
return -1;
}
/*강사님 코드
* public int signOf(int n) {
* int sigh = 0;
if(n>0) {
sigh = 1;
}else if (n < 0) {
sigh = -1;
}
return sigh;
}
*/
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner (System.in);
System.out.print("정수 x:");
int x = input.nextInt();
MethodMain02 so = new MethodMain02();
int result = so.signOf(x);
System.out.println("sighOf(x)는 "+result+"입니다");
input.close();
}
}
정수 x:1
sighOf(x)는 1입니다
package kr.s07.object.method;
public class MethodMain03 {
/*
* [실습]
* 배열의 요소 수를 입력 받아서 배열 x 생성
* 입력받은 정수를 배열x에 저장하고
* 배열 x가 가진 모든 요소의 합을 구하는 sumOf(int[] a) 메서드
* 정의하시오.
*
* [입력예시]
* 요소 수:3
* x[0] = 1
* x[1] = 2
* x[2] = 3
*
* [결과 예시]
* 모든 요소의 합은 6입니다.
*/
public int sumOf(int[] a) {
int sum = 0;
for(int i=0; i<a.length ; i++) {
sum+=a[i];
}
return sum;
}
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner (System.in);
//요소
System.out.print("요소 수:");
int num = input.nextInt();
//num개의 요소를 가지는 배열
int[] x = new int[num];
for (int i=0; i<num; i ++) {
System.out.print("x["+i+"]:");
x[i] = input.nextInt();
}
MethodMain03 me = new MethodMain03();
int result = me.sumOf(x);
System.out.println("모든 요소의 합은 "+ result +"입니다.");
input.close();
}
}
요소 수:3
x[0]:1
x[1]:2
x[2]:3
모든 요소의 합은 6입니다.
package kr.s07.object.method;
public class MethodMain04 {
/*
* [실습]
* 배열 요소 수(사람 수) 를 입력 받아서 배열 weight 생성.
* 입력 받은 정수를 배열 weight에 저장하고 배열 weight가 가진
* 모든 요소의 수 중 최소값을 구하는 minOf 메서드를 작성하시오.
*
* [입력 예시]
* 사람 수:3
* 1번의 몸무게:90
* 2번의 몸무게:88
* 3번의 몸무게:91
*
* 가장 마른 사람의 몸무게는 90kg 입니다.
*
*/
public int minOf(int[] a) {
int min = a[0];
for(int i = 1; i<a.length; i++) {
if (a[i] < min ) {
min = a[i];
}
}
return min; //return은 오직 한 개의 값만 반환. 인자는 여러개가 되긴해도 return 값은 무적권 1개
//max를 하고 싶으면 메서드를 새로 만들어줘야됨.
}
public static void main(String[] args) {
java.util.Scanner input =
new java.util.Scanner(System.in);
System.out.print("사람 수 : ");
int num = input.nextInt();
//num개의 요소를 가지는 배열
int[] weight = new int[num];
for (int i=0; i<num; i ++) {
System.out.print((i+1)+"번의 몸무게 : ");
weight[i] = input.nextInt();
}
//객체 선언 및 생성
MethodMain04 me = new MethodMain04();
int result = me.minOf(weight);
System.out.println("가장 마른 사람의 몸무게는 "+ result +"kg입니다.");
input.close();
}
}
사람 수 : 3
1번의 몸무게 : 90
2번의 몸무게 : 88
3번의 몸무게 : 91
가장 마른 사람의 몸무게는 88kg입니다.
실습
package kr.s07.object.method;
public class StudentMain {
//멤버 필드(속성)
String name;
int korean;
int english;
int math;
//멤버 메서드(동작)
//총점 구하기
public int makeSum() {
return korean +english +math;
}
//평균 구하기
public int makeAverage() {
return makeSum()/3;
}
//등급 구하기
public String makeGrade() {
String grade;
switch(makeAverage()/10) { //메서드를 실행(불러오기)을 시키기 위해선 메서드 뒤에 ()가 있어야됨.
case 10:
case 9:
grade = "A"; break;
case 8:
grade ="B"; break;
case 7:
grade = "C"; break;
case 6:
grade = "D"; break;
default :
grade = "F";
}
return grade;
}
//성적 출력용 메서드
public void printScore() {
System.out.println("이름 : "+name);
System.out.println("국어 : "+korean);
System.out.println("영어 : "+english);
System.out.println("수학 : "+math);
System.out.println("총점 : "+makeSum());
System.out.println("평균 : "+makeAverage());
System.out.println("등급 : "+makeGrade());
}
public static void main(String[] args) {
StudentMain student = new StudentMain();
student.name = "홍길동";
student.korean = 98;
student.english = 97;
student.math = 96;
student.printScore();
System.out.println("================================");
StudentMain student2 = new StudentMain();
student2.name = "김영희";
student2.korean = 91;
student2.english = 99;
student2.math = 79;
student.printScore();
}
}
이름 : 홍길동
국어 : 98
영어 : 97
수학 : 96
총점 : 291
평균 : 97
등급 : A
================================
이름 : 홍길동
국어 : 98
영어 : 97
수학 : 96
총점 : 291
평균 : 97
등급 : A
package kr.s07.object.method;
class Tv{
//멤버 필드(속성)
boolean power; //전원 상태(on/off)
int channel; //채널
//멤버 메서드(동작)
public void isPower() { //Tv를 켜거나 끄는 기능을 수행하는 메서드
power = !power;
}
public void channelUp() {//Tv의 채널을 높이는 기능을 수행하는 메서드
++channel;
}
public void channelDown() {//Tv의 채널을 낮추는 기능을 수행하는 메서드
--channel;
}
}
public class TvMain {
public static void main(String[] args) {
//객체 선언 및 초기화
Tv t = new Tv();
t.isPower();//power의 값은 false -> true
System.out.println("TV 실행 여부 : "+ t.power);
System.out.println("현재 채널:"+ t.channel);
System.out.println("=====================");
t.channel = 7;
System.out.println("첫번째 변경된 채널:" +t.channel);
System.out.println("=====================");
t.channelDown();
System.out.println("두번째 변경된 채널:" +t.channel);
System.out.println("=====================");
t.isPower();//true -> false
System.out.println("TV 실행 여부 : "+ t.power);
}
}
TV 실행 여부 : true
현재 채널:0
=====================
첫번째 변경된 채널:7
=====================
두번째 변경된 채널:6
=====================
TV 실행 여부 : false
package kr.s07.object.method;
class Worker {
/*
* [실습]
* Worker
* 1)멤버 변수: 직원이름(name),급여(money),계좌잔고(balance)
* 2)멤버 메서드: work(실행하면 money에 1000원 누적)
* deposite(실행하면 money에 저장된 돈을
* balance에 누적시키고 money는 0처리)
* WorkerMain의 main
* 1)Worker 객체 생성
* 2)직원의 이름 지정
* 3)10번 일하는데 번 돈이 3000원일 때 마다 계좌에 저축
* 4)직원 이름, 현재 계좌에 입금되지 않고 남아있는 급여(money),
* 계좌 잔고(balance)를 출력하시오.
*/
String name;
int money;
int balance;
public void work() {//일하는 메서드
money +=1000;
}
public void deposite() {//저축하는 메서드
balance += money;
money = 0;
}
}
public class WorkerMain {
public static void main(String[] args) {
Worker wk = new Worker();
wk.name = "구승회";
//10번 일하는데 번 돈이 3000원이 되면 저축
for (int i =0 ; i <10; i++) {
wk.work();
if (wk.money ==3000) {//wk.money%3000==0 도 가능
wk.deposite();
}
}
System.out.println("직원이름:"+wk.name);
System.out.println("현재 계좌에 입금되지 않고 남아있는 급여:"+wk.money);
System.out.println("계좌잔고:"+wk.balance);
}
}
직원이름:구승회
현재 계좌에 입금되지 않고 남아있는 급여:1000
계좌잔고:9000
MethodArg
package kr.s08.object.method;
import java.util.Scanner;
class Account {
//멤버 변수
String account_num;//계좌번호 String으로 한 이유는 계좌번호의 하이픈(-)이 있어서
String name;//예금주
int balance;//잔고
//멤버 메서드
//예금하기
public void deposite(int money) {
if(money <=0) {
System.out.println("입금액은 0보다 크게 입력하세요!");
}else {
balance +=money;//누적
System.out.println("입금이 완료되었습니다.");
}
}
//출금하기
public void withdraw(int money) {
if(money <=0) {
System.out.println("출금액은 0보다 크게 입력하세요!");
}else if(balance < money) {
System.out.println("잔액이 부족합니다.");
}else {
balance -= money;//차감
System.out.println("출금이 완료되었습니다.");
}
}
//계좌정보
public void printAccount() {
System.out.println("계좌번호:"+account_num);
System.out.println("예금주:"+name);
System.out.printf("잔고:%,d원%n",balance);
}
}
public class BankMain {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//계좌 생성
Account account = new Account();
//계좌 기본 정보 입력
System.out.println("계좌 기본정보를 입력해서 계좌를 생성합니다.");
System.out.print("계좌번호를 입력하시오:");
account.account_num = input.nextLine();
System.out.print("예금주:");
account.name = input.nextLine();
System.out.print("잔고:");
account.balance = input.nextInt();
System.out.println(account.name + "님 계좌가 개설되었습니다.");
while(true) {
System.out.println("=============================");
System.out.println("|1.예금,2.출금3.잔고 확인,4.종료|");
System.out.println("=============================");
System.out.print("메뉴 선택>");
int num = input.nextInt();
if (num==1) {//예금
System.out.print("예금액>");
account.deposite(input.nextInt()); //코드 짧게 하는방법
}
else if(num ==2) {//출금
System.out.print("출금액>");
account.withdraw(input.nextInt());
}
else if(num==3) {//잔고확인
account.printAccount();
}
else if(num==4) {//종료
System.out.println("프로그램 종료");
break;
}
else {
System.out.println("잘못 입력했습니다.");
}
}input.close();
}
}
계좌 기본정보를 입력해서 계좌를 생성합니다.
계좌번호를 입력하시오:123-456-789
예금주:구승회
잔고:123,456,789
구승회님 계좌가 개설되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>1
예금액>1000
입금이 완료되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>3
계좌번호:123-456-789
예금주:구승회
잔고:123,457,789원
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>2
출금액>1000
출금이 완료되었습니다.
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>3
계좌번호:123-456-789
예금주:구승회
잔고:123,456,789원
=============================
|1.예금,2.출금3.잔고 확인,4.종료|
=============================
메뉴 선택>4
프로그램 종료
package kr.s08.object.method;
public class MethodArgMain01 {
//인자 전달 방법: 값 호출 (Call by value)
//기본 자료형의 값을 인자로 전달하는 방식. 값을 복사하여 전달
public int increase(int n) {
++n;
return n;
}
public static void main(String[] args) {
int var1 =100;
MethodArgMain01 ma = new MethodArgMain01();
int var2 = ma.increase(var1);
System.out.println("var1 = "+var1+","+"var1 = "+var2);
}
}
var1 = 100,var1 = 101
package kr.s08.object.method;
import java.lang.reflect.Method;
public class MethodArgMain02 {
//인자 전달 방식: 참조 호출(Call by reference)
//객체의 주소를 인자로 전달하는 방식. 주소(reference)를 복사하여 전달
public void increase(int[] n){ //배열도 객체임.
for(int i =0; i<n.length;i++) {
n[i]++; //ex: 100 200 300 -> 101 201 301
}
}
public static void main(String[] args) {
//배열 선언 및 생성,초기화
int[] ref1 = {100,200,300};
System.out.println("====데이터 변경 전=====");
for(int i =0; i<ref1.length; i++) {
System.out.println("ref1["+i+"}:"+ref1[i]);
}
MethodArgMain02 ma = new MethodArgMain02();
ma.increase(ref1);
System.out.println("===데이터 변경 후 ====");
for(int i =0; i<ref1.length; i++) {
System.out.println("ref1["+i+"}:"+ref1[i]);
}
}
}
var1 = 100,var1 = 101
package kr.s08.object.method;
public class MethodArgMain03 {
/*
* Variable Arguments
* 자료형이 일치할 때 전달하고자 하는 값의 개수를 다르게 지정할 수 있음
* 전달되는 데이터는 내부적으로 배열로 인식함
*/
public void argTest(int ... n) { //n은 배열을 가르키는 배열명임.
for(int i = 0; i<n.length; i++) {
System.out.println("n["+i+"]:"+ n[i] );
}
System.out.println("==================");
}
public static void main(String[] args) {
MethodArgMain03 ma = new MethodArgMain03();
ma.argTest();
ma.argTest(1);
ma.argTest(10,20,30);
}
}
==================
n[0]:1
==================
n[0]:10
n[1]:20
n[2]:30
==================
'쌍용교육(JAVA) > JAVA' 카테고리의 다른 글
쌍용교육 -JAVA 수업 8일차 Pack (0) | 2024.04.11 |
---|---|
쌍용교육 -JAVA 수업 8일차 Overloading (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 7일차 Instance 객체 선언 및 생성 (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 6~7일차 field (0) | 2024.04.11 |
쌍용교육 -JAVA 수업 5~6일차 Array 배열 (0) | 2024.04.11 |