• 명품 자바 프로그래밍(개정4판) 제 3장 실습문제

    2020. 10. 8.

    by. Hyeon-Uk

    반응형

    1.다음 프로그램에 대해 물음에 답하라.

    int sum=0, i=0;
    while(i<100){
        sum = sum + i;
        i +=2;
     }
     System.out.println(sum);
        

    (1)무엇을 계산하는 코드이며 실행 결과 출력되는 내용은?

    - 100미만의 짝수들의 합을 계산하는 코드이며, 출력결과는 2450이 된다.

     

    (2)위의 코드를 main() 메소드로 만들고 WhileTest 클래스로 완성하라.

    public class WhileTest {	
    	
    	public static void main(String[] args) {
    		int sum=0,i=0;
    		while(i<100) {
    			sum=sum+i;
    			i+=2;
    		}
    		System.out.println(sum);
    	}
    }
    

    (3)for 문을 이용하여 동일하게 실행되는 ForTest 클래스를 작성하라.

    public class ForTest {	
    	public static void main(String[] args) {
    		int sum=0;
    		for(int i=0;i<100;i+=2) {
    			sum+=i;
    		}
    		System.out.println(sum);
    	}
    }
    

    (4)do-while 문을 이용하여 동일하게 실행되는 DoWhileTest 클래스를 작성하라.

    public class DoWhileTest {	
    	public static void main(String[] args) {
    		int sum=0;
    		int i=2;
    		do {
    			sum = sum+i;
    			i+=2;
    		}while(i<100);
    		System.out.println(sum);
    	}
    }
    

    [2번]

    public class p0302 {	
    	public static void main(String[] args) {
    		int n[][]={{1},{1,2,3},{1},{1,2,3,4},{1,2}};
    		for(int i=0;i<5;i++) {
    			for(int j:n[i]) {
    				System.out.print(j+" ");
    			}
    			System.out.println();
    		}
    	}
    }
    

    [3번]

    import java.util.Scanner;
    public class p0303 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("정수를 입력하시오>>");
    		int n=sc.nextInt();
    		for(int i=1;i<=n;i++) {
    			for(int j=n;j>=i;j--) {
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    	}
    }
    

    [4번]

    import java.util.Scanner;
    
    public class p0304 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("소문자 알파벳 하나를 입력하시오>>");
    		String s=sc.next();
    		char c=s.charAt(0);
    		if(c<'a'||c>'z') {
    			System.out.println("소문자가 아닙니다.");
    		}
    		else {
    			for(int i=c;i>='a';i--) {
    				for(char j='a';j<=i;j++) {
    					System.out.print(j);
    				}
    				System.out.println();
    			}
    		}
    		sc.close();
    	}
    }
    

    [5번]

    import java.util.Scanner;
    
    public class ㅔ0305 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("양의 정수 10개를 입력하시오>>");
    		int arr[]=new int[10];
    		for(int i=0;i<10;i++) {
    			arr[i]=sc.nextInt();
    		}
    		System.out.print("3의 배수는 ");
    		for(int i=0;i<10;i++) {
    			if(arr[i]%3==0) {
    				System.out.print(arr[i]+" ");
    			}
    		}
    		sc.close();
    	}
    }

    반응형

    [6번]

    import java.util.Scanner;
    
    public class p0306 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int[] unit= {50000,10000,1000,500,100,50,10,1};
    		System.out.print("금액을 입력하시오>>");
    		int money=sc.nextInt();
    		for(int i=0;i<8;i++) {
    			if(money/unit[i]!=0) {
    				System.out.println(unit[i]+"원 짜리 : "+money/unit[i]+"개");
    				money%=unit[i];
    			}
    		}
    		sc.close();
    	}
    }
    

    [7번]

    import java.util.Scanner;
    
    public class p0307 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int arr[]=new int[10];
    		int sum=0;
    		for(int i=0;i<10;i++) {
    			arr[i]=(int)(Math.random()*10+1);
    			sum+=arr[i];
    		}
    		System.out.print("랜덤한 정수들 : ");
    		for(int i=0;i<10;i++) {
    			System.out.print(arr[i]+" ");
    		}
    		System.out.println();
    		System.out.print("평균은 "+sum/10.0);
    		sc.close();
    	}
    }
    

    [8번]

    import java.util.Scanner;
    
    public class p0308 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("정수 몇개?");
    		int num=sc.nextInt();
    		int arr[]=new int[num];
    		int flag;
    		for(int i=0;i<num;i++) {
    			int r=(int)(Math.random()*100+1);
    			flag=1;
    			for(int j=0;j<i;j++) {
    				if(arr[j]==r) {
    					i--;
    					flag=0;
    					break;
    				}
    			}
    			if(flag==1)	arr[i]=r;
    		}
    		for(int i=0;i<num;i++) {
    			System.out.print(arr[i]+" ");
    		}
    		sc.close();
    	}
    }
    

    [9번]

    import java.util.Scanner;
    
    public class p0309 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int arr[][]= new int[4][4];
    
    		for(int i=0;i<4;i++) {
    			for(int j=0;j<4;j++) {
    				arr[i][j]=(int)(Math.random()*10+1);
    				System.out.print(arr[i][j]+"\t");
    			}
    			System.out.println();
    		}
    		sc.close();
    	}
    }
    

    [10번]

    import java.util.Scanner;
    
    public class p0310 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int arr[][]= {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
    		for(int count=0;count<10;) {
    			int i=(int)(Math.random()*4);
    			int j=(int)(Math.random()*4);
    			if(arr[i][j]==0) {
    				arr[i][j]=(int)(Math.random()*10+1);
    				count++;
    			}
    		}
    
    		for(int i=0;i<4;i++) {
    			for(int j=0;j<4;j++) {
    				System.out.print(arr[i][j]+"\t");
    			}
    			System.out.println();
    		}
    		sc.close();
    	}
    }
    

    [11번]

    import java.util.Scanner;
    
    public class p0311 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int sum=0;
    		
    		for(int i=0;i<3;i++) {
    			sum+=Integer.parseInt(args[i]);
    		}
    		System.out.println(sum/3);
    		sc.close();
    	}
    }
    

    [12번]

    import java.util.Scanner;
    
    public class p0312 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int sum=0;
    		
    		for(String s:args) {
    			try {
    				sum+=Integer.parseInt(s);
    			}
    			catch(NumberFormatException e) {
    				continue;
    			}
    		}
    		System.out.println(sum);
    		sc.close();
    	}
    }

    [13번]

    import java.util.Scanner;
    
    public class p0313 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		for(int i=1;i<=99;i++) {
    			if(i/10==3||i/10==6||i/10==9||i%10==3||i%10==6||i%10==9) {
    				System.out.println(i+" 박수 짝");
    			}
    		}
    		sc.close();
    	}
    }
    

    [14번]

    import java.util.Scanner;
    
    public class p0314 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		String course[]={"Java","C++","HTML5","컴푸터구조","안드로이드"};
    		int score[]={95,88,76,62,55};
    		
    		System.out.print("과목 이름>>");
    		String op=sc.next();
    		while(!op.equals("그만")) {
    			int flag=0;
    			for(int i=0;i<5;i++) {
    				if(course[i].equals(op)) {
    					System.out.println(course[i]+"의 점수는 "+score[i]);
    					flag=1;
    				}
    			}
    			if(flag==0) {
    				System.out.println("없는 과목입니다.");
    			}
    			System.out.print("과목 이름>>");
    			op=sc.next();
    		}
    		
    		sc.close();
    	}
    }
    

    [15번]

    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class Multiply {	
    	public static void main(String[] args) {
    		Scanner scanner=new Scanner(System.in);
    		while(true) {
    			try {
    				System.out.print("곱하고자 하는 두 수 입력>>");
    				int n=scanner.nextInt();
    				int m=scanner.nextInt();
    				System.out.println(n+"x"+m+"="+n*m);
    				break;
    			}
    			catch(InputMismatchException e) {
    				System.out.println("실수는 입력하면 안됩니다.");
    				scanner.nextLine();
    			}
    		}
    	}
    }
    

    [16번]

    import java.util.Scanner;
    
    public class p0316 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		String str[]= {"가위","바위","보"};
    		
    		System.out.println("컴퓨터와 가위 바위 보 게임을 합니다.");
    		System.out.print("가위 바위 보!>>");
    		String op=sc.next();
    		while(!op.equals("그만")) {
    			int r=(int)(Math.random()*3);
    			System.out.print("사용자 = "+op+" , 컴퓨터 = "+str[r]+" , ");
    			if(r==0){
    				switch(op) {
    				case "가위":
    					System.out.println("비겼습니다.");
    					break;
    				case "바위":
    					System.out.println("사용자가 이겼습니다.");
    					break;
    				case "보":
    					System.out.println("컴퓨터가 이겼습니다.");
    					break;
    				default:
    					break;
    				}
    			}
    			else if(r==1) {
    				switch(op) {
    				case "가위":
    					System.out.println("컴퓨터가 이겼습니다.");
    					break;
    				case "바위":
    					System.out.println("비겼습니다.");
    					break;
    				case "보":
    					System.out.println("사용자가 이겼습니다.");
    					break;
    				default:
    					break;
    				}
    			}
    			else {
    				switch(op) {
    				case "가위":
    					System.out.println("사용자가 이겼습니다.");
    					break;
    				case "바위":
    					System.out.println("컴퓨터가 이겼습니다.");
    					break;
    				case "보":
    					System.out.println("비겼습니다.");
    					break;
    				default:
    					break;
    				}
    			}
    			System.out.print("가위 바위 보!>>");
    			op=sc.next();
    			
    		}
    		
    		sc.close();
    	}
    }

     

    반응형

    댓글