티스토리 뷰

코딩/오류 노트

의문점

ehzim 2023. 10. 28. 19:00

- 첫번째

package Practice1;

import java.util.Scanner;

import Practice2.hello;
import Practice2.hi;

public class A {

	public static void main(String[] args) {
		
	Scanner sc = new Scanner(System.in);
	int a;
	int b;
	String v;
	hello h = new hello();
	
	
	System.out.println("첫번째 값을 입력해주세요!");
	a=sc.nextInt();
	System.out.println("두번째 값을 입력해주세요!");
	b=sc.nextInt();
	
	B tmp = new B();
	C tmp2 = new C();
	
	System.out.println(h.happy());
	System.out.println("더한 값은 : ");
	System.out.println(tmp.Add(a, b));
	System.out.println("나눈 값은 : ");
	System.out.println(tmp.Div(a, b));
	System.out.println("곱한 값은 : ");
	tmp2.mul(a, b);

	}


}

 

 

- 첫번째 출력

 

 

 

- 2번째

 

package Practice1;

import java.util.Scanner;

import Practice2.hello;
import Practice2.hi;

public class A {

	public static void main(String[] args) {
		
	Scanner sc = new Scanner(System.in);
	int a;
	int b;
	String v;
	hello h = new hello();
	String iam=h.happy();
	
	System.out.println("첫번째 값을 입력해주세요!");
	a=sc.nextInt();
	System.out.println("두번째 값을 입력해주세요!");
	b=sc.nextInt();
	
	B tmp = new B();
	C tmp2 = new C();
	
	System.out.println(iam);
	System.out.println("더한 값은 : ");
	System.out.println(tmp.Add(a, b));
	System.out.println("나눈 값은 : ");
	System.out.println(tmp.Div(a, b));
	System.out.println("곱한 값은 : ");
	tmp2.mul(a, b);

	}


}

 

- 두번째 출력

 

 

 

 

 

 

 

- hi 클래스

package Practice2;

public class hi {

	public static void main(String[] args) {
		String nm;
		
		hello H = new hello();
		String name=H.happy();
		System.out.println(name);

	}

}

 

 

 

- hello 클래스

 

package Practice2;

import java.util.Scanner;

public class hello {
	
	public String happy(){
		Scanner input = new Scanner(System.in);
		System.out.println("이름을 입력해주세요!");
		String Nm = input.nextLine();
		return Nm;
		
	
	}
}

 

 

 

 

위의 첫번째 코드와 두번째 코드는 출력 값의 차이가 난다.

출력 차이는 hello 클래스의 happy 메소드 호출 방식과 String iam 변수의 사용 여부에 있다.

첫번째 코드에서는 hello 클래스의 happy 메소드를 호출하고 그 결과를 String iam 변수에 저장한 후 출력한다.

하지만 두번째 코드에서는 happy 메소드를 직접 출력문에 넣어 호출한다.

happy 메소드가 Scanner클래스를 사용하여 호출할 때 마다 다른 결과를 반환하므로 다른 출력을 만들어 내는 것이다.

만약, happy 메소드가 항상 같은 결과를 반환한다면 두 코드는 동일한 결과를 출력한다.

 

 

 

 

 

수정한 hello 클래스 코드

'코딩 > 오류 노트' 카테고리의 다른 글

[7주 1일차] HTML CSS 코드 수정  (0) 2023.11.20
public  (0) 2023.11.03
withDayOfYear  (0) 2023.10.27
FileNotFoundException 오류  (0) 2023.10.26
생성자 호출 오류  (0) 2023.10.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday