프로그래밍/Java

자바 기초 문제

abfc 2016. 9. 29.
반응형






*답은 파일에 첨부해서 올립니다. 직접 풀어보신 후에 확인해보세요 ㅎㅎ

자바문제답.zip




[문제1]

String a = "100";

String b = "200";

a 와  b의 값을 형변환해서 두수의 곱을 구하시오


--출력--

100 * 200 = 20000 



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

[문제2]65430원을 만들기 위한 화폐의 갯수를 구하시오.

money = 65430원

만원 = 6

천원 = 5

백원 = 4

십원 = 3



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

[문제3] 급여명세서를 작성하시오

  조건1) 기본급이 1,500,000원,수당이 55,000원,세금은 기본급의 10%

  조건2) 실수령액 = 기본급 + 시간수당 - 세금


--출력--

실수령액 : 1405000원



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

[문제4] 각각변수에 대입하여 출력하시오

   조건1) data는 이효리, 개발부, 대리, 1500000로 대입

          변수명은 각각  name,department,position,sal로 할것

   조건2)출력은 아래와 같은 메서드(함수)를 이용하시오


--출력--

이름 : 이효리     ---> println

부서 : 개발부     ---> printf  

직위 : 대리       ---> print 1번만써서 직위,급여출력

급여 : 1500000원



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

[문제5] 다음을 입력받아 계산하시오


--입력--

Input name : 민들래

kor : 90 

eng : 70 

mat : 75


--출력--

이름 : 민들래

합계점수 : 235점

평균점수 :  78.3   <-- 소수 1자리까지출력하시오



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

[문제6] 다음을 입력받아 계산하시오

        (삼각형넓이 = (밑변 * 높이)/2)  


--입력--

**** 삼각형의 넓이 구하기  ****

밑변 :  10  

높이 :   3

   


--출력--

넓이 :   XX.XX  <--- 소수 2자리까지출력하시오



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

[문제7] BufferedReader를 이용하여 입력받아 두수중 큰수를 출력하시오

        (단, 비교연산은 삼항연산자를 이용하시오)

Input a : 5

Input b : 13


큰수 : 13



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

[문제8] 값을 입력받아 0보다 작거나 100보다 크면 "입력오류!!"  출력

        (if문과 ||연산자를 이용하시오)


점수입력 : 120

입력오류!!


점수입력 : 55

입력된값 : 55



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

[문제9] 입력된 문자가 대문자이면 소문자로 출력하고

        소문자이명 대문자로 변환하여 출력하시오

        그외의 문자이면 "입력데이타오류"라고 표시하시오

        (if-else문 이용)   


Input Character: A

result : a


Input Character: a

result : A


Input Character: *

입력데이터 오류

e


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

[문제10] 4개의 값을 콘솔에서 입력받아 처리하시오

        조건) 성별 : M 이면 "남자", 나머지 "여자" 

             (삼항연산자 이용)


Input name: 장미란

Input gender: F

Input age:  25

Input tall: 173.3 


--결과--

이름 : 장미란

성별 : 여자 

나이 : 25세

신장 : 173.3cm  



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

[문제11]2개의 숫자와 연산자를 입력하여 계산하시오

        조건1) 실수인경우는 소수이하 2째자리까지 출력하시오

        조건2) 연산자가 +,-,*,/ 이외의 문자가 들어오면 

               "연산자error"출력하시오


[실행결과]

A값을 입력하시오: 25

B값을 입력하시오: 36

연산자를 입력(+,-,*,/) : +

25 + 36 = xx


A값을 입력하시오: 25

B값을 입력하시오: 36

연산자를 입력(+,-,*,/) : /

25 / 36 = xx.xxxxx      


A값을 입력하시오: 25

B값을 입력하시오: 36

연산자를 입력(+,-,*,/) : #

연산자 error



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

[문제12]성적처리프로그램

        

--입출력 화면--


   중간고사를 입력하시오 : 90

   기말고사를 입력하시오 : 89

   레포트고사를 입력하시오 : 99

   출석고사를 입력하시오 : 100


   중간고사 : 90

   기말고사 : 89

   레포트 : 99

   출석 : 100


   성적=93.20      <---소수이하 2째자리까지

   학점=A              System.out.printf("성적 : %.2f", avg);

   평가=excellent



   조건1) (중간+기말)/2      ---> 60%

          레포트             ---> 20%

          출석               ---> 20%

     

   조건2)  90이상 'A'학점     (3)A,B학점  ---->"excellent"

           80이상 'B'학점        C,D학점  ---->"good"

           70이상 'C'학점        F학점    ---->"poor"

           60이상 'D'학점        (switch문이용) 

           나머지 'F'학점

           (if~else if문이용)



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

[문제13]년도를 입력받아 윤년/평년 구하기

      (공식)①,② 두조건을 다 만족해야 윤년임

    ①년도를 4로 나누어 떨어져야 함

  ②년도를 100으로나누어 떨어지지 않거나

    년도를 400으로 나누어 떨어져야 함

      (참고) 4(윤년), 100(평년), 400(윤년)임 


--출력--

년도 입력 : 2000

윤년


년도 입력 : 2001

평년


년도 입력 : 2004

윤년



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

[문제14] 50개의 난수를 만들어서 다음과 같이 출력하시오

       조건1) 0 - 100 사이의 수 일것

       조건2) 1줄에 6개씩 표시하시오  


--출력--

12      72      74      0       20      89

84      83      53      0       95      53

68      55      89      6       20      68

17      9       75      56      17      85

62      33      7       34      85      28

28      55      95      31      69      22

30      92      1       16      88      80

64      55      71      12      29      72

20      41

합=2420



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

[문제15] 2자리의 난수를 발생하여 발생된 숫자를 맞추는 게임 프로그램

         난수발생) 1. int a=(int)(Math.random()*100) : 0 - 99 사이의 난수

                   2. ① import java.util.Random;

                      ② Random 변수1 = new Random();

                      ③ int 변수2 = 변수1.nextInt(최대값); 

                               ==>  0 ~ (최대값 - 1)사이의 임의의 수


[실행결과]


*** 난수가 발생하였습니다...맞추어 보세요...*** 


숫자 입력 : 50

컴퓨터의 숫자가 더 큽니다..


숫자 입력 : 90

컴퓨터의 숫자가 더 작습니다..


          :


숫자 입력 : 83

추카추카...xx번만에 맞추셨습니다...



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

[문제16]1~100사이의수 중에서  3의 배수이면서 7의 배수 구하기 

      조건) for문과 && 연산자를 반드시 이용


--출력--

  21 42 63 84   



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

[문제17] for문을 이용하여 제곱승을 구하시오


x의 값을 입력하시오 : 3

y의 값을 입력하시오 : 3

3의 3승은 27




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

[문제18]다중for이용해서 모양을 만드시오

              1

            123

          12345

        1234567

      123456789

        1234567

          12345

            123

              1

                  

    

            *

           * *

          *   *

           * *

            *  


         **********

         *                *

         *                *

         *                *

         **********    



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

[문제19] main()함수에서 각각 호출하고 계산된 결과를 return 받아서 main()에서 출력하시오

호출함수 :  sum(3,5) 

                sub(7,2) 

                mul(4,5) 

                div(7,3)



더하기 : 8

빼  기 : 5

곱하기 : 20

나누기 : 2.33



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

[문제20] output(10,'#')함수를 호출하여 다음과 같이 출력하시오

        조건)출력문에서 for문을 이용하시오


<결과>

# # # # # # # # # # 



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

[문제21]값을 입력받아 함수호출하여 처리하시오

        조건1)입력받은 값을  compute(item, qty, price)함수에서 처리

        조건2)계산방법 : 금액 = 수량 * 단가


-입력-

품명 : apple

수량 : 10

단가 : 1200


-출력-

품명 : apple

금액 : 12000원




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

[문제22]Argument를 통해 배열의 갯수를 입력받은후 

배열갯수만큼 반복하여 데이타를 입력받아 처리하시오

$ java Test22  5


score[0] : 34.5

score[1] : 90.4

     .

     .

score[4] : 100.0



평균 : ??.??   <--- 소수이하 2째자리



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

[문제23]BufferedReader를 이용하여 입력받기

이름, 나이....각각 배열을 3개씩 만들어서 입력 받기


--입력--

이름 : 주몽 

나이 : 20


이름 : 소서노

나이 : 21


이름 : 모팔모

나이 : 52


--출력--

주몽     20세

소서노   21세

모팔모   52세



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

[문제24] 숫자맞추기 게임

컴퓨가 0~100사이의 임의의수 하나를 발생  


55     <----화면에 보이면 안됨

숫자입력(0~100) : 50

크다


숫자입력(0~100) : 60

작다


숫자입력(0~100) : 55

맞았다(3번)



계속(y/n) : y

숫자입력(0~100) : 



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

[문제25] 배열을이용하여 날짜를 기억시킨후

int []month={31,28,31,30,31,30,31,31,30,31,30,31};


--입력/출력--


원하는 달 : 3

3월은 31일입니다...



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

[문제26] 크기가 5인 정수형배열을 잡아 난수(1~50)를 저장하여 출력하시오



--출력--


[정렬전]

num[0]=23  num[1]=45  num[2]=13  num[3]=50  num[4]=25


[정렬후]

num[0]=13  num[1]=23  num[2]=25  num[3]=45  num[4]=50


합 = xx



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

[문제27]성적처리프로그램을 작성하시오


==============================================================================

번호    이름      국어    영어    수학    총점    평균    학점    재수강    순위

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

   1      소서노     90       95       100

   2      주  몽     75       55        65

   3      모팔모     100     100       100

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


처리조건

조건1) 변수

     String []name ={"소서노","주몽","모팔모"};

     int [][]score = {{90,95,100,0},{75,55,65,0},{100,100,100,0}};

     double []avg = {0.0, 0.0, 0.0};

     char []grade = new char[3];

     String []pass = new String[3];

     int []rank ={1,1,1};


조건2) 총점 = 국어 + 영어 + 수학

       평균 = 총점/3;

       학점 = 90이상 'A' / 80이상 'B' / 70이상 'C' / 60이상 'D' / 나머지는 'F'

               (if ~ else if문 이용)

       재수강 = 60이상이면 "pass"  60미만이면 "fail"

               (if~else문)

       순위구하기    




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

[문제28]다음을 수정/완성하시오

(1)클래스명:Test28

     필드명 : -base:double  (초기값:5.0)

                 -height:double (초기값:3.5)

     메서드명: +getArea():double

                   +getHypotenuse():double 

                   +getPerimeter():double

(2)조건

   1)공  식 : 삼각형의 넓이 = (밑변 * 높이) /2

                빗변길이 = Math.sqrt(밑변*밑변+높이*높이)  

                둘레길이 = 밑변 + 높이 + 빗변길이 

   2) Test28로 객체 ob를 생성한다

   3) getArea()는 삼각형의 넓이를 리턴한다

       getHypotenuse() 빗변의 길이를 리턴한다

       getPerimeter()는 둘레길이를 리턴한다 


[출력화면]

삼각형의넓이 : 8.75

빗변길이 : 6.10

둘레길이 : 14.60



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

[문제29]함수 overloading을 이용하여 다음을 완성하시오

(1)클래스명:Test29

    ① 필드명 : PI:double     (초기값:3.141593, final로 선언)

    ② 메소드 : 

           area(a:int):double       => 원의넓이=반지름*반지름*PI

           area(a:int, b:int):double     => 사각형의넓이=가로*세로

           area(a:int, b:int, c:int):doble     => 사다리꼴의 넓이=(밑변 + 윗변 )*높이/2 

(2)조건

     1)각각의 area(3),area(4,5),area(3,4,7) 메서드를 만들어 결과값을 구한다


[결과화면]

원의넓이 : 28.274337

사각형의넓이 : 20.0

사다리꼴의넓이 : 24.5



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

[문제30]다중클래스를 만들고 setter & getter를 이용하여 다음을 완성하시오

(1)클래스명: Test30

(2)클래스명:  BookShop

    필드명 : -bname:String   (책이름)

                -author:String   (저자) 

                -price:int          (가격) 

    메서드명 : +setBook(bname:String,  author:String, price:int):void

                   +viewBook():void

                   +setter & getter

(3)조건

    1) Test30클래스의 main()메서드에서 BookShop 클래스로 객체 ob를 만든다

    2) setBook("자바완성","황완성",25000)로 값을 대입한후 viewBook()메서드로 출력한다

    3)  setBname("JSP잡기"),  setAuthor("송JP"), setPrice(3500)로 값을 대입한후

          getBname(), getAuthor(), getPrice()로 출력한다


[출력화면]

책이름 : 자바완성

저  자 : 황완성

가  격 : 25000원


책이름 : JSP잡기

저  자 : 송JP

가  격 : 35000원

 



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

[문제31] 원의 반지름을 입력받아 넓이를 계산하고 출력하시오

         ① 필드명 : r             : 반지름을 저장할 정수형변수

                     size          : 넓이를 저장할 실수형변수

                     PI=3.141592   : final키워드 이며 실수형변수

         ②메소드 : 생성자함수      : Scanner이용해서 입력받을것

                    process()      : 원의넓이를 계산할것

                    output()       : 결과를 출력할것


--입/출력--

반지름 : 10


원의넓이 : 314.16



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

[문제32]생성자 함수를 overloading하여 두수중 큰수를 출력하는 

        프로그램을 완성하시오.(단, 계산과 출력은 생성자에서 할것)


public static void main(String[] args) 

{

     Test32 ob1 = new Test32(10,20);

     Test32 ob2 = new Test32(12.4, 9.45);

     Test32 ob3 = new Test32('Z', 'p');

}


--출력--

max = 20

max = 12.4

max = p



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

[문제33]다음프로그램을 완성하시오

      ① 필드명: area        : 넓이(삼각형, 사다리꼴, 원)를 구하는 실수형변수

                 PI=3.141592 : final키워드의 실수형변수

      ② 메소드: 생성자    :area를 0.0으로 초기화

                 circle()  :반지름을 입력받고, 원의넓이 계산한후 출력함수호출

                 triangle():밑변,높이를 입력받아,삼각형의넓이를 계산한후출력함수호출

                 trapezoid():아랫변,윗변,높이입력받고,사다리꼴의 넓이 계산한후

                             출력함수호출

                 void output():출력

                 int menu()   :메인화면 (***도형선택***) 디자인을 디자인하고

                               switch문이용 circle/triangle/trapezoid함수를 호출




**** 도형선택 *****

1. 삼각형

2. 원

3. 사다리꼴

4. 종료

선택 : 3



**** 사다리꼴넓이 ****

아랫변: 2

윗  변: 3

높  이: 4


넓이 : ?   <---소수이하 2째자리까지



**** 도형선택 *****

1. 삼각형

2. 원

3. 사다리꼴

4. 종료

선택 : 4


감사합니다^.^



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

[문제34] 다음 프로그램을 완성하시오

(1)클래스명 : Salary

  ①필드 :  String name(이름)

           int salary (연봉)

  ②생성자 : Salary(String n, int s) 를 넘겨받아 name, salary에 대입

  ③메서드 : getInfomation1()메서드에서 이름과 연봉을 출력


(2)클래스명 : Test34 ==> Salary를 상속받음

  ①필드 : String department (부서)

  ②생성자 : name, salary,department를 넘겨받아 각각 필드에 대입

             필요하면 부모 생성자 호출할수도 있다

  ③메서드 : getInfomation2()메서드에서 부서출력


(3)main()함수에서

   Test34  ob = new Test34("야철대장",85000000,"철기방"); 로 시작할것



(4)출력

이름 : 야철대장

연봉 : 85000000

부서 : 철기방



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

[문제35]다음과 같은 결과가 나오도록 수정하시오

        (단, main()안의 내용수정과 새로운 Method추가하지마시오)


**** x,y,z에 값채우기***

10을 넘겨받은 생성자

10   20   을 넘겨받은 생성자

10   20   30  을 넘겨받은 생성자

10   20   30

합 : 60



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

[문제36] 다음과 같은 결과가 나오도록 수정하시오

         (단, main()안의 내용수정과 새로운 Method추가하지마시오)


###인적사항###

이름 : 이순자

나이 : 23

신장 : 165.3 



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

[문제37] 다음 프로그램을 완성하시오


(1)선조클래스 : Entry

   필드명 : String word;

   메소드 : Entry();                               //***약어사전***  (출력)

            Entry(String w);                       //Entry()호출 

            public void writeView();               //약어출력


(2)후손클래스 : SubEntry   (Entry를 상속받음)

   필드명 : String definition; 

            int year;

   메소드 : SubEntry(String w);                   //Entry(String w)   호출 

            SubEntry(String w, String d, int y);  //SubEntry(String w)호출

            public void printView();              //원어, 시기출력


(3)Test37의 main()함수에서

    new SubEntry("OOP","Object Oriented Programming", 1991);



(4)출력


*****약어사전******

약어 : OOP

원어 : Object Oriented Programming

시기 : 1991년



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

[문제38] 다음 프로그램을 완성하시오


(1)Super클래스명 : Health

   필드명 : char gender(성별)

            double tall (신장)

            double weight(체중)

   생성자 : Health() - 초기화

   메서드 : input() - 성별, 신장, 체중입력받기

            output1() - 출력


(2)Sub클래스(Test38) 에서 Health를 상속받음

   필드명 : double s_weight (표준체중)

            double fat      (비만도)

            String result   (결과값)

   생성자 : s_weight = 0.0; (초기화작업)

            fat = 0.0;

            result = null;

   메소드 : calculate() - 비만도 계산

            output2()  - 출력


(3) ★표준체중계산법★

    남성 : 표준체중 = (신장-100)*0.9

    여성 : 표준체중 = (신장-100)*0.85


    비만도 = 현재체중(Kg)/표준체중(Kg)*100

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

    90%이하  : 저체중               121-130% : 경도비만

    91 -110% : 정상(표준체중)       131-150% : 중도비만

    111-120% : 과체중               150%     : 고도비만


(4)출력


   ***** 비만도 Check *****

   성별(M/F) : M          <---남(M) / 여(F)

   신장(Cm) : 175.3

   체중(Kg)  : 95.45


   성별 - M 

   신장 - 175.3Cm

   체중 - 95.45Kg


   당신은 비만도 140.84이고,  중도비만 입니다.








반응형

댓글

💲 추천 글