2023-12-27 (14일차) - 계산기 만들기

민짱·2024년 1월 7일
post-thumbnail

📅2023. 12. 27 14일차


🎨 Java

charAt()

  • 한 글자만 선택해서 바꿀 수 있는 함수
  • () 안에는 인덱스 번호
Scanner sc = new Scanner(System.in);

char c1 = ' ';
char c2 = ' ';

c1 = sc.next().charAt(0);
c2 = sc.nextLine().charAt(3);

System.out.println(c1);
System.out.println(c2);

sc.close();

substring

  • java.lang.String 클래스의 substring() 메소드는
    문자열의 특정 부분을 잘라내는 데 사용한다.
public String substring(int startIndex)
  • startIndex부터 끝까지의 문자열을 리턴한다.
  • substring() 메소드에 파라미터를 1개만 전달(startIndex)하면
    문자열의 startIndex부터 끝까지의 문자열을 잘라서 리턴한다.

.contains()

  • contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수이다
public class ContainsTest{
    public static void main(String[] args){

        String str = "my java test";

        System.out.println( str.contains("java") );  // true
        System.out.println( str.contains(" my") );  // false
        System.out.println( str.contains("JAVA") );  // false
        System.out.println( str.contains("java test") );  // true

    }

}

split(String regex) : 파라미터로 들어오는 문자열을 기준으로 문자열을 쪼갠다. String[]을 리턴함.

String test = "Seoul:Daejeon:Daegu:Daejeon";

String[] split = test.split(":");

for (String s : split) {
    System.out.println(s);
}
/*
출력값
Seoul
Daejeon
Daegu
Daejeon
 */

replace(), replaceAll(), replaceFirst()

  • 문자열을 다른 문자열로 치환할 때 사용.

    • 치환 메소드이긴 한데 주로 문자열에서 특정 문자를 삭제할때 유용하게 사용한다.

    • replace(CharSequence target, CharSequence replacement) : 모든 target replacement로 치환

String str = "a,b,c,d,e";
System.out.println(str.replace(",", " ")); // a b c d e
System.out.println(str.replace(",", "")); // abcde
  • replaceAll(String regex, String replacement) : replace()와 비슷하나, 첫번째 인자로 정규식을 넣는다.

  • replaceFirst(String target, String replacement) : 첫번째 발견되는 target만 치환한다.

String str = "a,b,c,d,e";
System.out.println(str.replaceFirst(",", " ")); // a b,c,d,e
System.out.println(str.replace(",", "")); // ab,c,d,e

✨ 계산기 만들기)

➕➖ 더하기 빼기 기능구현하기

public static int run(String exp) {

    boolean needToPlus = exp.contains("+");
    boolean needToMinus = exp.contains("-");

    String[] bits = null;

    if (needToPlus) {
      bits = exp.split(" \\+ ");
    } else if (needToMinus) {
      bits = exp.split(" - ");
    }

    int a = Integer.parseInt(bits[0]);
    int b = Integer.parseInt(bits[1]);

    if (needToPlus) {
      return a + b;
    } else if (needToMinus) {
      return a - b;
    }

    throw new RuntimeException("처리할 수 있는 계산식이 아닙니다");
  • boolean 변수를 만들어 true/false로 더하기/빼기 산술연산자가 들어있는지 확인 후 산술연산자를 기준으로 쪼갠 후에 배열에 넣고 풀 수 있게 짠다.

🔔 TODO

  • 계산기 더하기 빼기 기능 구현 반복 복습하기

0개의 댓글