[ DEV ] Backend/JAVA
-
[JAVA] Random 사용하기[ DEV ] Backend/JAVA 2022. 11. 10. 23:55
class DieA{ //1부터 6사이의 값을 반환하는 메서드 만들기 public static int result(){ int num = (int)(Math.random()*6)+1; return num; } } class DieB { //Random 클래스를 사용해서! 랜덤한 주사위 값을 구해보기 public static int roll() { Random rd = new Random(); int rdInt = rd.nextInt(6) + 1; //(0~5) return rdInt; } } 둘 다 똑같이 랜덤한 주사위 값을 출력하게 된다. (1~6까지의 정수 출력) DieA에서는 랜덤 함수를 이용해서 출력하는 경우고, [ Math.random( ) ] ** 따로 객체 생성할 필요가 없음 DieB에서는 ..
-
private 필드를 우회적으로 변경하는 setter 메서드 활용[ DEV ] Backend/JAVA 2022. 11. 10. 21:04
class SmartPhone { //private 필드 private int number; //세터 메소드 public void setNumber(int n) { number = n; } } private 필드를 stter메소드를 사용하지 않고 변경하려 한다면? 위와 같은 오류가 뜬다! lock.password = "654@!"; 위와 같은 코드를 lock.setPassword("654@!"); 이렇게 setter메서드를 이용해서 호출해주기! 그리고 위와 같은 메서드를 호출하기 위한 메소드를 추가해주면 끝! public void setPassword(String pw){ password = pw; }
-
[JAVA] Math.sqrt(double) 메소드[ DEV ] Backend/JAVA 2022. 11. 9. 12:00
💻Math.Sqrt()란? java.lang.Math클래스의 sqrt() 메서드는 double타입의 인수를 전달하면, 인수에 대한 double타입의 제곱근 값을 리턴해준다. 제곱근은 음수가 나올 수 없으므로 음수를 입력하면 NaN(Not a Number)을 리턴해줍니다 💡Math.Sqrt() 사용법 Math.sqrt(double d); 사용하여 d의 제곱근을 출력한다. 이 함수는 문제를 풀면서 두 점 사이의 거리를 구할 때 사용했다. (피타고라스 정의) 예제 1. 두 포인트를 메개변수로 받아서, x,y변화량을 구하고 이를 제곱한 값에 Math.sqrt 메소드를 사용해줘서 두 점 사이의 거리 값을 구했다. static double distance(Point p, Point q){ double dX = p...
-
[JAVA] String.format() - 문자열 형식 지정[ DEV ] Backend/JAVA 2022. 11. 9. 11:47
📖 String.format() - 리턴되는 문자열의 형태를 지정. 서식 문자열 앞에 %를 붙여서 문자열에 사용하면 그 위치에 변수의 값을 형식화해서 대입가능!! 문자열 형식을 지정하는 방법... 하나 생각나는게 있다. System.out.pfintf 를 이용하는 것! System.out.printf("두 점 A%s, B%s 사이의 거리 : %.2f",p1.toStr(),p2.toStr(), dist); String toStr(){ return String.format("(%d,%d)",x,y); } 둘의 차이점을 이야기 해보면 System.out.pfintf은 출력까지 책임져주고, String.format() 는 변수에 저장해서 변수를 출력하는 메소드를 돌리지 않는 이상 출력은 되지 않는다고 보면 된다.
-
[오류해결] java.util.IllegalFormatConversionException: d != java.lang.String[ DEV ] Backend/JAVA 2022. 11. 9. 10:36
💻 d != java.lang.String 원인은 적절한 형식을 설정하지 않았기 때문!!! 변수 nation 은 String 값이고, sum은 int값인데 형식 설정이 잘못되었다. System.out.printf("%d -> %s points\n",nation,sum); 이 오류는 적절한 형식으로 지정해주면 해결이 된다. 문자열형식은 %s로 %d에 정수형을 !!!! void printTeamPoint(){ int sum = 0; for (int i = 0; i %d points\n",nation,sum); } } 다시 오류를 수정해주니 값이 나오는 것을 확..