Java의 Map에서 입력받은 값의 근사치에 해당하는 항목을 얻어내고자 할때는 다음을 참고하세요. import java.util.Map; import java.util.TreeMap; public class NearPositionExample { public static void main(String[] args) { Map gradeList = new TreeMap(); gradeList.put(1, "Molly"); gradeList.put(3, "Ava"); gradeList.put(4, "Jennifer"); gradeList.put(8, "Park"); gradeList.put(15, "Nicole"); gradeList.put(22, "Jack"); String answer1 = nearNex..
다음은 사용자 지정 Annotation에서 선택적 요소 및 추가 속성을 정의하는 방법입니다. import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /* JavaScriptMethod.java */ @Retention(RetentionPolicy.RUNTIME) public @interface JavaScriptMethod { String value(); // Required element int count() default 1; // Optional element with a default value String[] tags() default {}; // Optional element of array type..
다음은 16진수 또는 10진수(RED, GREEN, BLUE)로 입력된 색상 값을 Decimal code로 변환하거나 혹은 반대로 변환하는 Java 메서드입니다. public class ColorConverter { // 16진수 색상 값을 입력으로 받아 유효성을 검사한 다음 // Integer.parseInt(color, 16)을 사용하여 10진수 코드로 변환 public static int convertColorToDecimal(String color) { if (color.startsWith("#")) { // #FFFFFF 로 입력된 경우 # 제거 color = color.substring(1); } if (color.length() != 6) { throw new IllegalArgumentEx..
Springboot든 뭐든, 웹서비스 중 javascript 구문을 입력받아 서버단에서 처리하는 경우가 있다. 그럴때 유용하게 사용할 수 있는 J2V8(V8Engine)라는 Java 바인딩 세트가 있다. 아래는 Java로 작성된 함수를 javascript구문으로 실행하는 예제이다. J2V8의 registerJavaMethod와 JavaCallback를 사용하였고 간단하게 사칙연산의 예를 들었다. 좀 더 자세한 정보는 여기를 참고하면 된다. import com.eclipsesource.v8.*; public class ArithmeticCalculator { public static void main(String[] args) { // V8.createV8Runtime()을 사용하여 V8 런타임을 생성 t..
사칙연산 프로그램이 필요해서 만들었다. 추가로 sqrt, abs, power 연산도 추가했다. (아직 에러는 없는데 혹시 나올수도? ㅎㅎ) import java.util.*; public class StringCalculator { public double evaluate(String expression) { Stack numbers = new Stack(); Stack operations = new Stack(); expression = expression.toLowerCase(); for (int i = 0; i < expression.length(); i++) { char ch = expression.charAt(i); if (ch == '(') { operations.push(ch); } else..