본문 바로가기
국비 과정/Java

국비 - 0727 (StringBuffer , 난수)

by 코딩호야 2022. 7. 27.

String Buffer 

JVM 은 String 클래스에 문자열을 추가할때
내부적으로 StringBuffer 클래스로 변환해 처리합니다.
문자열 "가"와 "나"를 결합시키는 과정은 

String ABC("가","나");
StringBuffer ABC ("가나");
String ABC("가나");  => 형식으
로 바뀝니다.

 

StringBuffer 를 이용한 코드예제

		StringBuffer stbf = new StringBuffer("Java");	//StringBuffer 는 객체를 생성해야지 사용가능

		stbf.append(" Program");	//append()  = 문자열 추가 메서드

		System.out.println(stbf);

		for (int i = 0; i < stbf.length(); i++) {
			System.out.print(stbf.charAt(i) + "\t");
		}

		System.out.println();
		for (int i = stbf.length() - 1; i >= 0; i--) {
			System.out.print(stbf.charAt(i) + "\t");
		}

		stbf.insert(4, "*");	//insert()  문자를 추가하는 메서드   = >  index 4 에 * 을 집어넣어는 코드
		
		System.out.println("\n" + stbf);

		System.out.println(" 문자열의 길이 : " + stbf.length());

		stbf.setLength(5);		// setLength()  길이를 변경하는 메서드  => 길이를 5로 바꾼다

		System.out.println("새로운 문자열의 길이 : " + stbf.length());

		System.out.println("setLength(5) 적용 문자열 :" + stbf);

		System.out.println("반전 문자열 : " + stbf.reverse());  // reverse()    =>  문자열을 반전시키는메서드

	}

난수

난수 발생 공식 =>    ( ( 상한값 - 하한값 +1) * 난수발생 ) + 하한값 

Ex ] 270~530사이의 난수를 구하세요 = >  ((530 - 270 + 1) * Math.random()) + 270    // 정수로 바꾸려면 앞에 int 값으로 바꿔준다. 

 

난수 발생 예제

		int xx = 15; // 하한값
		int yy = 27; // 상한값
		int count = 0;
		// 난수 발생 공식 => (상한값 - 하한값 +1)*난수발생) + 하한값
		System.out.println(xx + " ~ " + yy + " 사이 난수 발생 \n");

		for (int i = 0; i < 100; i++) {

			System.out.print((int) ((yy - xx + 1) * Math.random()) + xx + " ");
			count++;

			if (count % 10 == 0) {
				System.out.println();
			}
		}