97 Java実践:文字列/数字の判別
Java練習問題(文字列、数字に関するAPIを使用)
1.リストされた数値で特定の条件に一致する数値を検索
public class Quiz1 {
public static void main(String[] args) {
int[] numbers = new int[30];
int number = 0;
for (int i=0; i<30; i++) {
number++;
numbers[i] = number;
}
fizzBuzz(numbers);
}
public static void fizzBuzz(int[] numbers) {
// TODO 3의 배수면 Fizz, 5의 배수면 Buzz, 3과 5의 배수면 PizzBuzz를 출력하시오.
for (int number : numbers) {
if (number%3 == 0 && number%5 != 0) {
System.out.print(number);
System.out.println(": Fizz");
}
if (number%3 != 0 && number%5 == 0) {
System.out.print(number);
System.out.println(": Buzz");
}
if (number%15 == 0) {
System.out.print(number);
System.out.println("PizzBuzz");
}
}
}
}
2.特定文字列が対称か否かを判別する
例)オーディオ、雁など
public class Quiz2 {
public static void main(String[] args) {
phrasePalindrom("홍길동");
phrasePalindrom("오디오");
phrasePalindrom("기러기");
}
public static void phrasePalindrom(String word) {
// 문자열을 앞으로 뒤로부터 읽어도 똑같은 문자면 true를 출력한다.
// 길이가 3인 문자열이라면 첫글자, 마지막 글자만 비교하면 되지만 그 이상일 경우도 고려해야 한다.
// 대칭 여부를 확인하는 것이므로 문자열의 중앙을 기준으로 절반만 검사하면 된다.
// 이 때 문자열 길이의 홀짝에 따라 수식이 달라진다.
int endNum;
if (word.length()%2 == 0) {
endNum = word.length()/2;
} else {
endNum = (word.length()+1)/2;
}
for (int i=0; i<endNum ; i++) {
int symmetricIndex = word.length()-(i+1);
if (word.charAt(i) != word.charAt(symmetricIndex)) {
System.out.println(false);
return;
}
}
System.out.println(true);
}
}
3.単語の中間文字を出力する
public class Quiz4 {
public static void main(String[] args) {
middleCharacter("서울특별시");
middleCharacter("중앙HTA학원");
middleCharacter("대용량데이터베이스솔루션");
}
public static void middleCharacter(String word) {
// 단어의 가운데 글자를 출력하기
String middle = "";
if (word.length()%2 == 0) {
int middleIndex = word.length()/2;
middle = word.substring(middleIndex-1,middleIndex+1);
} else {
int middleIndex = (word.length()-1)/2;
middle = word.substring(middleIndex, middleIndex+1);
}
System.out.println(middle);
}
}
Reference
この問題について(97 Java実践:文字列/数字の判別), 我々は、より多くの情報をここで見つけました https://velog.io/@yoondgu/Java-practice-문자열과-숫자-다루기-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol