1. JAVA/4). 자바_실전_이클립스

자바실전_Day_09_05(프린트만들기_01)

구이제이 2024. 1. 11. 18:37

-----------------------------------------------------------------------------------



1번째 예제

 

 

 

//문제1) 프린트, 단면,양면 문제

 

Scanner scan = new Scanner(System.in);

int amount = 100;

int count = 0;

int number = 0;

String input="";

 

 

while(!(amount==0)){

info(amount);

input=info2(input);

count=info3(count,input);

amount = info4(amount,count,input);

 

 

}

System.out.println("프린트 종료");

}

 

public static void info(int amount) {

System.out.println("=============================");

System.out.println("현재 남은 용지는 : " + amount);

System.out.println("=============================");

System.out.println();

System.out.println();

System.out.println();

}

 

public static String info2(String input) {

Scanner scan = new Scanner(System.in);

System.out.println("======프린트내용입력 하세요===");

input = scan.nextLine();

System.out.println();

System.out.println();

return input;

}

 

public static int info3(int count,String input) {

Scanner scan = new Scanner(System.in);

System.out.println(input+"(을)를 몆번 출력하시겠습니까?");

count = scan.nextInt();

System.out.println();

System.out.println();

return count;

}

 

 

 

public static int info4(int amount,int count,String input) {

Scanner scan = new Scanner(System.in);

System.out.println("1.단면프린트 2.양면프린트 3.이전으로돌아가기");

int number = scan.nextInt();

 

if(number == 1) {

 

amount =section(amount,count,input);

return amount;

}else if(number == 2) {

amount -=bothSides(amount,count,input);

return amount;

}else if(number == 3) {

return amount;

}

return amount;

}

 

 

//단면

public static int section (int amount,int count,String input) {

 

amount -=count;

 

System.out.println("현재 남은 용지는 : " + amount);

System.out.println("단면 프린트 중입니다.");

 

for(int i = 1; i<=count; i++) {

System.out.println("내용 : "+input );

System.out.println((i)+"면을 인쇄합니다.");

}

 

return amount;

 

}

 

//양면

public static int bothSides (int amount,int count,String input) {

 

if(count%2==0) {

amount -= (count/2);

 

System.out.println("현재 남은 용지는 : " + amount);

System.out.println("양면 프린트 중입니다.");

 

for(int i = 1; i<=count; i++) {

System.out.println("내용 : "+input );

System.out.println((i)+"면을 인쇄합니다.");

}

 

return amount;

}else {

amount -= (count/2)+1;

 

System.out.println("현재 남은 용지는 : " + amount);

System.out.println("양면 프린트 중입니다.");

 

for(int i = 1; i<=count; i++) {

if(i%2==1) {

System.out.println("내용 : "+input );

System.out.println((i)+"면을 인쇄합니다.");

 

}else {

System.out.println("내용 : "+input );

System.out.println((i)+"면을 인쇄합니다.");

 

}

 

}

 

return amount;

}