본문 바로가기

프로그래밍/자바(JAVA)

[자바 질문] 자바 문제좀 풀어주세요!!

자바 문제좀 풀어주세요!!

요즘 자바 공부중인데 요아래 3문제가 애매하더라구요 ㅠㅠ

 

빠른, 정확한 답변기다릴께요..

 

1.

아래에 프로그램의 실행결과와 프로그램을 나타내었다. 이 프로그램은 실행시 3개의 매개변수를 입력으로 받아 다음과 가은 실행결과를 나타내고있다. 프로그램의 박스 부분에 적합한 내용을 기술하시오.

 

실행결과

 

c:>java IfTest 10  + 20

결과는 : 30입니다

c:>java IfTest 10 - 20

결과는 : -10입니다

c:>java IfTest 10 $ 20

올바른 연산자가 아닙니다

c:>java IfTest 10 -

인수의 개수가 올바르지 않습니다

 

public class IfTest {

 public static void main(String args[]){

 if () {

 // 실행시 입력으로 받은 문자열의 개수가 3이 아닌경우

     System.out.println("인수의 개수가 올바르지 않습니다");

     return; / 프로그램 종료

 }

char op = args[1].chatAt(0);

 /*실행시 입력으로 받은 두 번째의 문자열의 철 번째의 문자를 char형으로 변환 하는문장 */

int op1 = Integer.parseInt(args[0]) ;

int op2 = Integer.parseInt( 1번 문제 ) ;

 

if (op 2번 문제 '+')

 System.out.println("결과는 : " + (op1 + op2) + " 입니다");

 3번 문제 (op == '-')

 System.out.println("결과는 : " + (op1 - op2) + " 입니다");

 else

 System.out.println("올바른 연산자가 아닙니다");

}

}

 

2.

다음 프로그램은 오류를 발생시킨다. 오류의 원인을 기술하시오.

 Int sum = 0;

 for(int i = 1 ; i < 10 ; i++)

 sum = sum + i;

 System.out.println(sum + i);

 

오류 원인:

 

3.

다음 프로그램을 for문을 사용하여 다시 작성하여 아래에 기술하시오.

int i = 1;

int sum = 0;

while ( sum < 100) {

 sum += 1;

 i++;

}

코드:

 

제발 도와쥬세염 ㅠㅠ


답변


c:>java IfTest 10  + 20

결과는 : 30입니다

c:>java IfTest 10 - 20

결과는 : -10입니다

c:>java IfTest 10 $ 20

올바른 연산자가 아닙니다

c:>java IfTest 10 -

인수의 개수가 올바르지 않습니다

 

public class IfTest {

 public static void main(String args[]){

 if () {

 // 실행시 입력으로 받은 문자열의 개수가 3이 아닌경우

     System.out.println("인수의 개수가 올바르지 않습니다");

     return; / 프로그램 종료

 }

char op = args[1].chatAt(0);

 /*실행시 입력으로 받은 두 번째의 문자열의 철 번째의 문자를 char형으로 변환 하는문장 */

int op1 = Integer.parseInt(args[0]) ;

int op2 = Integer.parseInt( args[1] ) ;

 

if (op == '+')

 System.out.println("결과는 : " + (op1 + op2) + " 입니다");

 else if(op == '-')

 System.out.println("결과는 : " + (op1 - op2) + " 입니다");

 else

 System.out.println("올바른 연산자가 아닙니다");

}

}

 

2.

다음 프로그램은 오류를 발생시킨다. 오류의 원인을 기술하시오.

 Int sum = 0;

 for(int i = 1 ; i < 10 ; i++)

 sum = sum + i;

 System.out.println(sum + i);

 

오류 원인: 반복문 for안에 선언된 변수 i는 지역변수 입니다. 지역변수는 해당 영역이 종료되면 사라집니다.

즉 변수 i는 반복문for문이 종료되는 순간 사라지게 되어 있습니다.

그러하니 for문이 끝난후 System.out.println(sum + i) 라고 하시면 에러가 발생하게 됩니다.

 

3.

다음 프로그램을 for문을 사용하여 다시 작성하여 아래에 기술하시오.

int i = 1;

int sum = 0;

while ( sum < 100) {

 sum += 1;

 i++;

}

int sum = 0;

for(int i=1 ; sum < 100 ; i++){

 sum += 1;

}