소프트웨어관련 전공 >>3학년<<이지만 아직 자바 입출력도 제대로 못하는 머저리의 자바 기초 학습기
나는 멍청해서 println만 사용하면 "abcde"로 입력받은 String을 a\b\c\d\e로 출력할 수 있을거라 생각했다 ㅋㅋ
......#왜안되노
println을 쓰긴 쓰는데, 문자들 사이에 어떻게 Enter를 칠 것이냐!!
-> 문자열의 길이만큼 for문을 돌려 각 index에 매핑된 문자를 하나씩 \n으로 출력해줌. 이때 index에 매칭된 문자는 charAt(i)를 사용
.....아무리 고민해보아도 (1분도 고민안해봄) 어떻게 풀지 감이 안잡혀서 일단 되는대로 때려적어보았다.
import java.util.Scanner;
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
Scanenr sc = new Scanner(System.in);
my_string = sc.next();
Scanenr sc = new Scanner(System.in);
overwrite_string = sc.next();
Scanenr sc = new Scanner(System.in);
s = sc.next();
String answer = "";
int m = my_string.length();
int l = overwrite_string.length();
for(int i= 0; i<s; i++){
answer += my_string[i];
}
for(int s; s<l; s++){
answer += overwrite_string[s];
}
return answer;
}
public static void main (String[]args){
System.out.println(answer);
}
}
ㅋㅋㅋ
ㅋㅋㅋㅋㅋ
음 그니까 s를 기준으로 my_string[s] 까지 answer에 더하고 overwrite_string[s]부터 overwrite_string의 length()까지 answer에 더하면 될거라고 생각했음..
후냐냐 왜 에러가 이렇게 많이 나죵?
.substring() 메소드를 써야했던거시다.
import java.util.Scanner;
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = my_string.substring(0, s) + overwrite_string + my_string.substring(s + overwrite_string.length());
return answer;
}
public static void main (String[]args){
//Scanner는 main에서 작성해야한다 !!
Scanner sc = new Scanner(System.in);
String my_string = sc.next();
String overwrite_string = sc.next();
int s = sc.nextInt();
//Solution 클래스의 인스턴스를 생성하여 solution 메소드를 호출
//solution 메소드는 인스턴스 메소드이기 때문에 객체를 생성해야 호출이 가능
Solution solution = new Solution();
String result = solution.solution(my_string, overwrite_string, s);
System.out.println(result);
}
}
.substring() 메소드//추출을 시작할 위치의 인덱스(0부터 시작).
//아래와 같은 코드는 beginIndex부터 끝까지 추출됨
String substring(int beginIndex)
//추출을 끝낼 위치의 바로 앞 인덱스(끝 인덱스는 포함되지 않음. 그니까 endIndex-1까지 추출됨)
String substring(int beginIndex, int endIndex)
안녕
꿀팁! 코드로 표현할 때, ```java 치면 자바 형식으로 예쁘게 색칠된 코드를 만나볼 수 있습니다.