본문 바로가기
웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자

코로나 휴강 대체할 t형의 복습문제6.

by oncerun 2020. 3. 4.
반응형

2. 임의의 수 n을 입력받고 문자를 입력받아 
해당 문자를 n개만큼 출력하기. 문자가 q나 Q인 경우 반복문 종료 
입력 예 
5 
a 
b 
c 
q 
출력 예 
aaaaa 
bbbbb 
ccccc 
※ 입력을 전부 끝내고 출력이 나오는 게 아니라 매 입력마다 결과가 나와야 합니다. a를 입력하면 
aaaaa, b를 입력하면 bbbbb, c를 입력하면 ccccc


import java.util.Scanner;

public class corona6 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		System.out.println("반복할 숫자 반복할 알파벳 입력");
		int count = scan.nextInt();

		while (true) {
			
			String alp =scan.next();
			String end = alp.toUpperCase();
			
			if(end.equals("Q"))
				break;
				
			for (int i = 0; i < count; i++)
				System.out.printf("%s", alp);

			System.out.println();

		}

	}
}


== 과 equals()의 차이점

 

둘 다 내용을 비교한 뒤 boolean type으로  반환한다는 공통점이 있다.

하지만 equals()는 메서드이고 ==는 비교를 위한 연산자이다

하지만 큰 차이점은 비교할 수 있는 내용의 부분입니다.

equlas() 메서드는  비교하고자 하는 내용 자체를 비교하지만

==연산자는 비교하고자하는 주소 값을 비교합니다.

 

String done = "Q";  //주소 값을 할당받지않고 값자체를 받음.

String end = alp.toUpperCase();  // 주소값을 할당 받음.

 

if(end.equlas("Q")에서

처음에는 if(end == done)으로 했는데 조건문이 실행되지 않았다.

문제를 알아보니 end와 done 자체가 잘못된 식이였기 때문에 조건식이 실행 안 된 것 같다.

반응형

댓글