Java 1월 15일 재시험 (코딩)

박현우·2024년 1월 15일

  1. 1+(-2)+3+(-4)+... , 과 같은 식으로 계속 더해나갔을 때 몇까지 더해야 총합이
    100이상이 되는지 구하시오.(10)

  1. int 타입의 변수 num 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를
    완성하라. 만일 변수 num의 값이 12345라면, ‘1+2+3+4+5’ 의 결과인 15 를
    출력하라. (?) 알맞은 코드를 넣으시오.(10)
    ((?) 들어가는 코드는 한줄 이상이다)

    class Exercise4_9 {
    public static void main(String[] args) {
    int num = 12345;
    int sum = 0;
    (?)
    System.out.println("sum="+sum);
    }
    }
    
    -> while(num > 0) {
       sum += num%10;
       num /= 10;
       }
  2. 배열 arr에 담긴 모든 값을 더하는 프로그램을 완성하시오.(10)

class Exercise5_3
{
public static void main(String[] args)
{
int[] arr = {10, 20, 30, 40, 50};
int sum = 0;
(?)
System.out.println("sum="+sum);
}
}
sum=150

-> for(int i=0;i<arr.length;i++) {
   sum += arr[i];
   }

4~5아래 문제를 읽고 답안을 작성하시오.(20)
1. Calc 클래스를 생성 한다.
2. private 접근제어의 String 타입의 전역변수 생성하고 getter, setter,
파라미터가 있는 생성자를 생성한다.
3. int 타입의 파라미터를 2개받아와서 int 타입의 덧셈의 결과를 return해주는
메서드를 생성 한다.
4. int 타입의 파라미터를 2개받아와서 int 타입의 뺄셈의 결과를 return해주는
메서드를 생성 한다.
5. int 타입의 파라미터를 2개받아와서 int 타입의 곱셈의 결과를 return해주는
메서드를 생성 한다.
6. int 타입의 파라미터를 2개받아와서 int 타입의 나눗셈 몫의 결과를
return해주는 메서드를 생성한다.
7. main 메서드를 포함하는 클래스를 생성 한다.
8. 2개의 정수를 선언 및 할당 한다.
9. main 메서드에서 Calc 클래스 객체 생성시 본인의 이름을 매개변수 값으로
넘긴다.
10. main 메서드에서 본인의 이름을 출력한다.
11. Calc 클래스 객체를 사용하여 plus, minus 메소드를 사용하여 사칙 연산
결과를 각각 출력 한다.
12. Calc 클래스 객체를 사용하여 times, divide 메소드를 사용하여 사칙 연산
결과를 각각 출력 한다.

**Calc.java
package test;
public class Calc {
private String name;
public Calc(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int plus(int x, int y) {
return x + y;
}
public int minus(int x, int y) {
return x - y;
}
public int times(int x, int y) {
return x * y;
}
public int divide(int x, int y) {
int result = 0;
if (y != 0) {
result = x / y;
}
return result;
}
}
  • **Main01.java
    	package test;
    	public class Main01 {
    	public static void main(String[] args) {
    	Calc c = new Calc("곽지현");
    	System.out.println(c.getName());
    	int num1 = 10;
    	int num2 = 20;
    	System.out.println(num1 + " + " + num2 + " = " + c.plus(num1,
    	num2));
    	System.out.println(num1 + " - " + num2 + " = " + c.minus(num1,
    	num2));
    	System.out.println(num1 + " * " + num2 + " = " + c.times(num1,
    	num2));
    	System.out.println(num1 + " / " + num2 + " = " + c.divide(num1,
    	num2));
    	scan.close();
    	}
    	}

6~7.아래 문제를 읽고 답안을 작성하시오.(20)
1. Student 클래스를 생성 한다.
2. Student 클래스에 private 접근제어의 String 타입의 name, int 타입의 ban,
no, kor, eng, math변수 선언
3. 파라미터가 있는 생성자, getter, setter를 생성한다.
4. kor, eng, math의 총합을 return하는 메서드 생성.
5. kor, eng, math의 평균값을 return하는 메서드를 생성
6. name, ban, no, kor, eng, math 를 출력하는 메서드 생성
7. main 메서드를 포함하는 클래를 생성
8. Student 클래스 객체 생성
9. Student 클래스의 총합, 평균값을 출력하는 메서드 호출
10. Student 클래스의 name, ban, no, kor, eng, math 를 출력하는 메서드 호출

**Studnet.java
class Student {
private String name;
private int ban;
private int no;
private int kor;
private int eng;
private int math;
Student(String name, int ban, int no, int kor, int eng, int math) {
this.name = name;
this.ban = ban;
this.no = no;
this.kor = kor;
this.eng = eng;
this.math = math;
}
public int getTotal() {
return kor + eng + math;
}
public int getAverage() {
return getTotal() / 3;
}
public String info() {
return name + "," + ban + "," + no + "," + kor + "," + eng + "," + math
+ "," + getTotal() + "," + getAverage();
}
}
  • **Main01.java
    	public class Main01 {
    	public static void main(String[] args) {
    	Student s = new Student("홍길동",1,1,100,60,76);
    	System.out.println(s.info());
    	System.out.println(s.getTotal());
    	System.out.println(s.getAverage());
    	}
    	}

0개의 댓글