해결된 질문
작성
·
263
0
package basic;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class longWords_split {
public String solution(String str){
String answer =" ";
int m = Integer.MIN_VALUE;
String[] s = str.split(" ");
for(String x: s){
int len = x.length();
if(len > m) {
m = len;
answer = x;
}
}
// System.out.println(answer);
return answer;
}
public static void main(String[] arg) throws IOException {
longWords_split T = new longWords_split();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
T.solution(input);
}
}
이 코드에서 System.out.println(answer); 로 확인하면 가장 긴 단어가 출력되는데, return answer 를 받았을때 값이 아무 것도 안나옵니다 (공백출력) 원인을 못찾고 헤매고 있습니다. ㅠㅜ 조언 부탁드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
해당 코드에서 main
메서드에서 T.solution(input);
을 호출하셨을 때, 해당 메서드는 가장 긴 단어를 찾아 answer
에 할당하고 이를 반환하지만, 반환된 값에 대한 처리를 해주지 않아서 결과를 볼 수 없습니다. return
된 answer
를 화면에 출력하려면 main
메서드에서 solution
메서드 호출 시 반환값을 System.out.println
을 이용해 출력해야 합니다. 다음과 같이 코드를 수정하시면 됩니다.
public static void main(String[] arg) throws IOException {
longWords_split T = new longWords_split();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
// solution 메서드로부터 반환받은 값을 출력
System.out.println(T.solution(input));
}
이렇게 수정하시면 solution
메소드에서 반환한 가장 긴 단어를 콘솔에 출력할 수 있습니다.