이제 자바중급 공부하는데요..초보예제 몇개 모르는거좀 질문할게요..
머슴밥
◆ Exam1 : 다음 지시사항에따라 아래 출력 예와 같은 화면을 출력하도록 JavaApplication프로그램을작성하시오.
--------------------------------------------------------------------------------------------------------------------------------------
지시사항:아래처럼명령행 인자를 두개 입력 받는다.두번째 입력한인자(문자열)를첫번째 인자(문자열)에서
각각어느 인덱스에 위치하고 있는지를 검색하는 소스를작성한다.실행결과
C:\java Test 가나다라가나다가가다라 나
나:Index[1]. 나:Index[5],
C:\java Test 가나다라가나다가가다라 라
라:Index[3]. 라:Index[10],
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam2 : 다음 지시사항에따라 아래 출력 예와 같은 화면을 출력하도록 JavaApplication프로그램을작성하시오.
--------------------------------------------------------------------------------------------------------------------------------------
지시사항:아래의부분소스는 어떤 클래스의 main()이다.아래와 같은실행화면이 나올 수 있도록 소스를 작성한다.
publicstatic void main(String args[]){
Fishobj[]={ new Fish(팥,100),new Fish(쵸콜릿,70),new Fish(치즈,50)};
for(inti=0; iobj.length; i++)
System.out.print(obj[i]+”: ”);
System.out.println(obj[i].burn());
}실행결과
C:\ java Test
팥 붕어빵 : 탔다.
쵸콜릿 붕어빵 : 적당히 익었다.
치즈 붕어빵 : 덜 익었다.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam3 : 다음 지시사항에따라 아래 출력 예와 같은 화면을 출력하도록 JavaApplication프로그램을작성하시오.
--------------------------------------------------------------------------------------------------------------------------------------
지시사항:아래의부분소스는 어떤 클래스의 main()이다.
원래 Object의equals()메서드는주소를 비교하는 메서드이므로 obj1.equals(obj2)는false가나온다.
그렇지만 아래처럼객체가 초기화될 때 멤버가 똑같다면 두객체의 내용은같다라고 나오게 하고 싶다면
어떻게 해야할까?소스를 작성한다.
publicstatic void main(String args[]){
Carobj1=new Car(노란색,그랜져,100,4);
Carobj2=new Car(노란색,그랜져,100,4);
if(obj1.equals(obj2))
System.out.println(두객체는같다.);
else
System.out.println(두객체는다르다.);
}실행결과
C:\ java Test
두객체는 같다.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam4 : 다음 지시사항에따라 아래 출력 예와 같은 화면을 출력하도록 JavaApplication프로그램을작성하시오.
--------------------------------------------------------------------------------------------------------------------------------------
지시사항:실행결과가아래와 같다.클래스 A를아래와 같은 결과가 나올 수 있도록 소스를 완성한다.
class A{
double var;
A(doublevar){
this.var=var;
}
A(intvar){ }
A(Stringvar){
System.out.println(var);
}
A(){
System.out.println(Good-bye);
}
publicstatic void main(String args[]){
A obj=new A(5);
}
}
실행결과
C:\java A
Good-bye
hello━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam5 : 아래의 소스는컴파일 에러가 발생한다.에러의 원인을간단하게 기술하라.
--------------------------------------------------------------------------------------------------------------------------------------
interfaceBeta{}
classAlpha implements Beta{
StringtestIt(){
return Tested;
}
}
classMain1{
staticBeta getIt(){
return new Alpha();
}
publicstatic void main(String args[]){
Betab=getIt();
System.out.println(b.testIt());
}
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam6 : // here자리에get메서드를정의해서 아래와 같은 결과가 나올 수 있도록 소스를작성한다.
----------------------------------------------------------------------------------------------------------------------------------------------
실행결과
C:\Testjava Test
Trumpet
RoarinterfaceAnimal{
public void soundOff();
}
classElephant{
publicvoid soundOff(){
System.out.println(Trumpet);
}
}
classLion{
publicvoid soundOff(){
System.out.println(Roar);
}
}classAlpha1{
//here
}
classTest{
publicstatic void main(String args[]){
Alpha1.get(veggie).soundOff();
Alpha1.get(meateater).soundOff();
}
}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Exam7 : 아래와 같은결과가 나올 수 있도록 소스를 완성한다.(단,main메서드는 수정해선안된다.)
--------------------------------------------------------------------------------------------------------------------------------------
실행결과
monstercryinginterfaceAnimal{ public void soundOff(); }classAlpha1{
}
classTest{
publicstatic void main(String args[]){
newAlpha1().ani.soundOff();
}
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━총 7문제인데요...혼자풀기어려워서 이렇게 올려요
-
파이팅
감사합니다...좋은 참고 되었습니다..겨우 다 해결했네요
-
핫팬츠
1,2번은 배열관련된거라 생략(해결하셨을거라 생각~)하였고 ㅡㅡ; 마지막 문제는소스짜라길래 귀찮아서 ㅡㅡ;; 도움되셨으면 합니다~^^
-
다크
5번문제는 오타가 있어서 잘안보이는데요,(같이 붙어서 나온게있어서 해석하는데 애먹었네-_-) 아마도 스태틱이 붙은 함수를 사용하는것에서 객체를 생성하고 사용하여 에러가 발생한거같은데, 객체 생성없이 직접 접근이 가능합니다. 예를 들어 유명한 Math클래스의 sqrt를 불러쓸때도, Math.sqrt() 하면 바로 쓸수있죠, 그건sqrt가 static 메소드로 선언되어있기 때문입니다!~~
-
보담
4번문제도 역시 오버로딩 문제입니다. 생성자쪽에 super키워드와 this키워드를 잘 사용하면 될것같아 보입니다. 각 인자와 디폴트 생성자의 호출순서에 대해 잘생각해보시면 될것같습니다~~~
-
회전력
3번문제는 Object의 equals 메소드를 오버로딩하라는 말입니다. 즉 equals를 오버로딩하면, hashcode()라는 메서드도 같이 오버로딩하여야하죠,, 그래서 각 객체가 하나의 이름으로 생성이 되었다면, 소수를 더한 임의의 주소값, 예: JVM은 총 16자리 주소를 씁니다. 공개:8자리, 비공개:8자리 공개된 주소를 가지고 8자리에 임의의 소수, 13을 더해주면 같은 타입의 객체를 선언하면 겉은 같게 만들수있따 이겁니다~!!!
-
겨라
많은 도움이 되었습니다...참조할께요...어제 댓글보기전에 몇개는 풀었네요 ㅎㅎ^
-
달콤이
거의 대부분의 문제가 implement를 이용해서 구현되어있는 method를 메써드 오버라이딩을 할 수 있는지 없는지를 테스트하는 문제 같네요. 객체지향적..인 사고에 도움되는 문제인듯. ^^
-
아롱별
1번문제는 char형 배열 선언하시고 때려넣으신 다음 키값 비교를 하시면 될 것 같구요. (java에선 char가 2바이트니까 될꺼에요. 아마도 ^^;)
2번문제는 클래스를 하나 만드셔서 안에 String 과 integer형을 받을수 있는 setter와 getter를 만들어 숫자를 비교한 뒤에 적당한 문자열을 리턴하면 되겠네요.
3번문제는 equals객체에 대한 java API를 읽어보시면 바로 답 나올꺼구요
4번문제는 생성자의 실행순서에 대해서 -
그대와나
오늘 학원장님께서 그냥 한번 내준건데..힘드네요...다른예제에 비해서요