Java/모두의 자바 63

Chapter 10-63 하샤드 수

Ex) 양의 정수 x가 하샤드 수라면 x의 자릿수 합으로 x가 나눠줘야 한다. 예를 들어 18의 자릿수의 합은1 + 8 =9이고 18은 9로 나눠 떨어지므로 하샤드 수이다. Harshad함수는 양의 정수 n을 매개 변수로 받는다. 입력받은 n이 하샤드 수인지 아닌지 판단하는 함수를 완성하라. package javaStudy; public class HarshadNumber { public boolean isHarshad(int num) { int su = num; int sum = 0; boolean isHarshad = false; while( su > 0) { sum += su % 10; su = su / 10; } if(num % sum == 0) isHarshad = true; return isH..

Chapter 10-62 최댓값과 최솟값

Ex) getMinMaxString 메서드는 String형 변수 str을 매개변수로 입력받는다. str에는 공백으로 구분한 숫자들이 저장되어 있다. str에 나타나는 숫자 중 최솟값과 최댓값을 찾아 이를 "최솟값 최댓값" 형태의 String을 반환하는 메서드를 완성하라. 예를 들어 str이 "1 2 3 4"라면 "1 4"를 반환하고 "-1 -2 -3 -4"라면 "-4 -1"을 반환한다. package javaStudy; public class GetMinMaxString { public String getMinMaxString(String str) { String [] strArr = str.split(" "); int maxValue = Integer.parseInt(strArr[0]); int min..

Chapter 10-61 정수 내림차순으로 배치하기

Ex) reverseInt 메서그는 int형 n을 매개변수로 입력받는다. n에 나타나는 숫자를 큰 것부터 작은 순으로 정렬한 새로운 정수를 반환하라. 예를 들어 n이 118372 -> 873211을 반환하라. package javaStudy; public class ReberseInt { public int reberseInt(int n) { int i = 1; //(1) int count = 0; while (i 0) { arr[arrCount] = n / i; n = n % i; i = i / 10; ++arrCount; } //(4) int temp = -1; for(int i2 = 0 ; i2 < arr.length; ++i2) { for( int j = i2 + 1; j < arr.length;..

Chapter 10-59 문자열을 내림차순으로 배치하기

Ex) reverseStr메서드는 String형 변수 str을 매개변수로 입력 받는다. str에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 String을 반환하라. str은 영문 대소문자로만 구성됐으며 대문자는 소문자보다 작은 것으로 간주한다. 예를 들어 str이; "Zbcdefg"면 "gfedcbZ"를 반환한다. package javaStudy; public class ReverseStr { public String reverseStr(String str) { char [] chars = str.toCharArray(); char temp; for(int i = 0;i < chars.length; ++i) { for(int j = i+ 1; j < chars.length; ++j) { if(..

Chapter 10-58 서울에서 김서방 찾기

Ex) findKim 함수는 String형 배열 seoul을 매개변수로 받습니다. seoul의 요소 중 'Kim'의 위치 x를 찾아 "김 서방은 x에 있다"는 String을 반환하라. seoul에 'Kim'은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없다. package javaStudy; public class FindKim { public String findKim(String[] seoul) { int x = 0; for(int i = 0; i < seoul.length; ++i) { if(seoul[i].equals("Kim")){ x = i; } } return "김 서방은 " + x +"에 있다."; } public static void main(String[] args) { Fin..

Chapter 10-57 String을 숫자로 바꾸기

Ex) getStrToInt메서드는 String형 str을 매개변수로 받는다. str을 숫자로 변환한 결과를 반환하도록 strToInt를 완성하라. 예를 들어 str이 '1234'이면 1234를 반환하고 '-1234'이면 -1234를 반환한다. str은 부호(+, -) 와 숫자로만 구성됐고 잘못된 값이 입력되는 경우는 없다. package javaStudy; public class StrToInt { public int getStrToInt(String str) { int result = 0; int sign = 1; int index = 1; char ch = str.charAt(0); if(ch == '-'){ sign = -1; }else if(ch == '+'){ sign = 1; }else { ..

Chapter 10-56 짝수와 홀수

Ex) evenOrOdd 메서드는 int형 num을 매개변수로 받는다. num이 짝수일 때는 'Even'을 반환하고 홀수 일 때는 'Odd'를 반환하도록 코드를 작성하라. num은 0이상의 정수이며 num이 음수인 경우는 없다. package javaStudy; public class EvenOrOdd { String evenorodd(int num) { String result = ""; if( num % 2 == 0) { result = "Even"; }else { result = "Odd"; } return result; } public static void main(String[] args) { String str = "1 2 3 4 "; EvenOrOdd evenorodd = new EvenOr..

Chapter 10- 55 수박수박수박수박수박수?

Ex) watermelon 메서그는 정수n을 매개변수로 입력받는다. 길이가 n이고 수박수박수..와 같은 패턴을 유지하는 문자열을 반환하도록 메서드를 완성하라. package javaStudy; public class WaterMelon { public String watermelon(int n) { String resultStr = ""; for( int i = 0 ; i < n; ++i) { if(i % 2 == 0 ) { resultStr += "수"; }else { resultStr += "박"; } } return resultStr; } public static void main(String[] args) { WaterMelon wm = new WaterMelon(); System.out.prin..

Chapter 10-54 평균 구하기

Ex) 배열을 입력받아 평균값을 구하는 메서드를 완성하라. 어떠한 크기의 배열이 와도 평균값을 구할 수 있어야한다. 평균값을 정수로 반환하라. package javaStudy; public class GetMean { public int getmean(int [] array) { int sum = 0; for(int i = 0; i < array.length; ++i) { sum = sum + array[i]; } return sum / array.length; } public static void main(String[] args) { int x [] = {5, 4, 3}; GetMean getmean = new GetMean(); System.out.println("평균값: " + getmean.ge..