Skip to content

Base ball play ground #132

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions src/test/java/study/StringCalculator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package study;

import java.util.Scanner;
import java.util.StringTokenizer;

public class StringCalculator {

/** 에러 1 . 계산식이 토큰으로 뽑히지 않음
* 해결 . StringTokenizer stringTokenizer = new StringTokenizer() 3번째 인자에 true 추가
* 3번째 인자는 구분자로 토큰을 분리할 때 구분자도 토큰에 포함시킬지 여부 default값은 false
* **/

public static void main(String[] args){
String token = "";
int amount = 0;

Scanner sc = new Scanner(System.in);

System.out.println("계산식 입력 : ");

String inputData = sc.nextLine();
StringTokenizer stringTokenizer = new StringTokenizer(inputData, "+-*/", true);

try {
while (stringTokenizer.hasMoreTokens()){

token = stringTokenizer.nextToken();

if (token.equals("+")){

token = stringTokenizer.nextToken();
amount += Integer.parseInt(token);


} else if (token.equals("-")) {

token = stringTokenizer.nextToken();
amount -= Integer.parseInt(token);

} else if (token.equals("*")) {

token = stringTokenizer.nextToken();
amount *= Integer.parseInt(token);

} else if (token.equals("/")) {

token = stringTokenizer.nextToken();
amount /= Integer.parseInt(token);

} else {
amount = Integer.parseInt(token);
}

}
System.out.println("결과값 : " + amount);

} catch (NullPointerException e){

}


}

public String _StringCalculator() {

Scanner scanner = new Scanner(System.in);

String scanInput = scanner.nextLine();


return null;
}
}
86 changes: 86 additions & 0 deletions src/test/java/study/StringTest.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,99 @@
package study;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.junit.jupiter.params.provider.ValueSource;

import java.util.HashSet;
import java.util.Set;

import static org.assertj.core.api.Assertions.assertThat;

public class StringTest {
private Set<Integer> numbers;

@Test
void replace() {
String actual = "abc".replace("b", "d");
assertThat(actual).isEqualTo("adc");
}

@Test
void test1A() {
String actual = "1,2";
String[] actual1 = actual.split(",");

assertThat(actual1[0]).contains("1");

}

@Test
void test1B() {
String actual = "1";
String[] actual1 = actual.split(",");

assertThat(actual1).containsExactly("1");
}

@Test
void test2() {
String actual = "(1,2)";
String actual1 = actual.substring(1,4);

assertThat(actual1).isEqualTo("1,2");
}

@Test
void test3() {
String actual = "abc";
char a = actual.charAt(1);

assertThat(a).isEqualTo('b');
}

@Test
@BeforeEach
void test4A() {

numbers = new HashSet<>();
numbers.add(1);
numbers.add(1);
numbers.add(2);
numbers.add(3);

assertThat(numbers.size()).isEqualTo(3);
}

@ParameterizedTest
@ValueSource(ints = {1,2,3})
void test4B(int number) {

numbers = new HashSet<>();
numbers.add(1);
numbers.add(1);
numbers.add(2);
numbers.add(3);

// assertThat(numbers.contains(1)).isTrue();
// assertThat(numbers.contains(2)).isTrue();
// assertThat(numbers.contains(3)).isTrue();

assertThat(numbers.contains(number)).isTrue();
}

// TODO
// @ParameterizedTest
// @CsvSource(value = {"7", "4", "5"})
// void test4C(int number) {
//
// numbers = new HashSet<>();
// numbers.add(1);
// numbers.add(1);
// numbers.add(2);
// numbers.add(3);
//
// asser
// }
}