저는 최근 [https://exercism.org/tracks/java/exercises]의 실습을 통해 Java를 배웠습니다. 현재 진행 상황은 총 148개 실천 중 13개입니다. 제가 배운 내용을 공유하고 싶습니다.
이 게시물은 .split(), .trim(), .isDigit(), .isLetter(), Comparable
정의: .split() 메서드는 구분 기호 [1]을 기준으로 문자열을 배열로 나눕니다.
구문:
public String[] split(String regex, int limit)
매개변수:
예:
public class Main{ public void getProductPrice(String products){ double totalPrice = 0.0; StringBuilder priceDetails = new StringBuilder(); String[] singleProduct = products.split("; "); for(int i = 0; i < singleProduct.length; i++){ String[] productInfo = singleProduct[i].split(", "); totalPrice += Double.parseDouble(productInfo[2]); priceDetails.append(productInfo[2]); if(i < singleProduct.length - 1){ priceDetails.append(" + "); } } System.out.println(priceDetails + " = " + totalPrice); } public static void main(String arg[]){ Main obj = new Main(); obj.getProductPrice("1, dragonfruit, 12.50; 2, guava, 23.45; 3, avocado, 395.67"); } }
출력:
12.50 + 23.45 + 395.67 = 431.62
정의: .trim() 메서드는 문자열 [2]의 양쪽 끝에서 공백을 제거합니다.
구문:
public String trim()
매개변수:
예:
public class Main{ public static void main(String args[]){ String str = " You can do it! "; System.out.println(str); System.out.println(str.trim()); } }
출력:
You can do it! You can do it!
정의: .isDigit() 메서드는 문자가 숫자인지 [3]인지 여부를 결정합니다.
구문:
public static boolean isDigit(char ch)
매개변수:
예:
public class Main{ // return true when the given parameter has a digit public boolean searchDigit(String str){ for(int i = 0; i < str.length(); i++){ // charAt() method returns the character at the specified index in a string if(Character.isDigit(str.charAt(i))){ return true; } } return false; } // print digit index and value public void digitInfo(String str){ for(int i = 0; i < str.length(); i++){ if(Character.isDigit(str.charAt(i))){ System.out.println("Digit: " + str.charAt(i) + " found at index " + i); } } } public static void main(String args[]){ Main obj = new Main(); String[] strList = {"RT7J", "1EOW", "WBJK"}; for(String str : strList){ if(obj.searchDigit(str)){ obj.digitInfo(str); }else{ System.out.println("No digit"); } } } }
출력:
Digit: 7 found at index 2 Digit: 1 found at index 0 No digit
정의: .isLetter() 메서드는 문자가 문자인지 아닌지를 결정합니다[4].
구문:
public static boolean isLetter(char ch)
매개변수:
예:
public class Main{ // check whether phoneNum has letter public void searchLetter(String phoneNum){ boolean hasLetter = false; for(int i = 0; i < phoneNum.length(); i++){ if(Character.isLetter(phoneNum.charAt(i))){ hasLetter = true; // return letter value and index System.out.println(phoneNum + " has letter '" + phoneNum.charAt(i) + "' at index " + i); } } // phone number is valid when no letter if(!hasLetter){ System.out.println(phoneNum + " is valid"); } System.out.println(); } public static void main(String args[]){ Main obj = new Main(); String[] phoneNum = {"A0178967547", "0126H54786K5", "0165643484"}; for(String item: phoneNum){ obj.searchLetter(item); } } }
출력:
A0178967547 has letter 'A' at index 0 0126H54786K5 has letter 'H' at index 4 0126H54786K5 has letter 'K' at index 10 0165643484 is valid
정의: 비교 대상
예:
// file: Employee.java public class Employee implements Comparable<Employee>{ private String email; private String name; private int age; public Employee(String email, String name, int age){ this.email = email; this.name = name; this.age = age; } // The Comparable interface has a method called compareTo(T obj). // This method helps decide how to order objects, so they can be sorted in a list @Override public int compareTo(Employee emp){ // compare age: // return this.age - emp.age; // (this.age - emp.age) = negative value means this.age before emp.age; // (this.age - emp.age) = positive means this.age after emp.age // compare email: return this.email.compareTo(emp.email); } @Override public String toString(){ return "[email=" + this.email + ", name=" + this.name + ", age=" + this.age +"]"; } }
// file: Main.java import java.util.Arrays; public class Main { public static void main(String args[]){ Employee[] empInfo = new Employee[3]; empInfo[0] = new Employee("joseph@gmail.com", "Joseph", 27); empInfo[1] = new Employee("alicia@gmail.com", "Alicia", 30); empInfo[2] = new Employee("john@gmail.com", "John", 24); Arrays.sort(empInfo); System.out.println("After sorting:\n" + Arrays.toString(empInfo)); } }
출력:
After sorting: [[email=alicia@gmail.com, name=Alicia, age=30], [email=john@gmail.com, name=John, age=24], [email=joseph@gmail.com, name=Joseph, age=27]]
정의: 사용자 정의 Java 예외는 개발자가 특정 오류 조건을 처리하기 위해 생성하는 사용자 정의 예외입니다[6].
예:
public String[] split(String regex, int limit)
public class Main{ public void getProductPrice(String products){ double totalPrice = 0.0; StringBuilder priceDetails = new StringBuilder(); String[] singleProduct = products.split("; "); for(int i = 0; i < singleProduct.length; i++){ String[] productInfo = singleProduct[i].split(", "); totalPrice += Double.parseDouble(productInfo[2]); priceDetails.append(productInfo[2]); if(i < singleProduct.length - 1){ priceDetails.append(" + "); } } System.out.println(priceDetails + " = " + totalPrice); } public static void main(String arg[]){ Main obj = new Main(); obj.getProductPrice("1, dragonfruit, 12.50; 2, guava, 23.45; 3, avocado, 395.67"); } }
출력:
12.50 + 23.45 + 395.67 = 431.62
Java의 인터페이스를 통해 사용자는 각각 고유한 논리를 구현하는 다양한 클래스에서 동일한 메서드를 호출할 수 있습니다[7]. 아래 예에서는 CalculatePrice() 메서드가 Fruit 및 DiscountFruit와 같은 다양한 클래스에서 호출되며 각 클래스는 고유한 계산 논리를 적용합니다.
예:
public String trim()
public class Main{ public static void main(String args[]){ String str = " You can do it! "; System.out.println(str); System.out.println(str.trim()); } }
You can do it! You can do it!
public static boolean isDigit(char ch)
출력:
public class Main{ // return true when the given parameter has a digit public boolean searchDigit(String str){ for(int i = 0; i < str.length(); i++){ // charAt() method returns the character at the specified index in a string if(Character.isDigit(str.charAt(i))){ return true; } } return false; } // print digit index and value public void digitInfo(String str){ for(int i = 0; i < str.length(); i++){ if(Character.isDigit(str.charAt(i))){ System.out.println("Digit: " + str.charAt(i) + " found at index " + i); } } } public static void main(String args[]){ Main obj = new Main(); String[] strList = {"RT7J", "1EOW", "WBJK"}; for(String str : strList){ if(obj.searchDigit(str)){ obj.digitInfo(str); }else{ System.out.println("No digit"); } } } }
[1] JavaRush, Java의 분할 메서드: 문자열을 여러 부분으로 분할, 2023년 8월 8일
[2] W3Schools, Java String Trim() 메소드
[3] GeeksforGeeks, Java의 Character isDigit() 메소드(예제 포함), 2020년 5월 17일
[4] tutorialspoint, Java - 문자 isLetter() 메소드
[5] DigitalOcean, Java 예제의 비교 가능 및 비교기, 2022년 8월 4일
[6] Shiksha, Java의 사용자 정의 예외 이해, 2024년 4월 25일
[7] Scienttech Easy, Java에서 인터페이스 사용 예시, 2024년 7월 9일
위 내용은 자바 학습 여정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!