일부 변수를 메서드를 통해 전달한 다음 해당 메서드에서 값을 반환하는 데 문제가 있습니다. checkValue
메서드는 orderSplit
배열의 각 배열 항목을 살펴보고 오류가있는 경우 오류 메시지를 반환하고, 그렇지 않으면 빈 문자 errorMessage
을 반환합니다. 그러나 지금 당장은 프로그램이 그 방법을 전혀 실행하지 않는 것처럼 보입니다. 어떤 제안?Java 전달 변수 및 반환 값
public class Foo {
public static void main(String args[]) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String order = null;
try {
order = br.readLine();
} catch (IOException exc) {
System.out.println("ERROR: A Problem has occured");
}
String[] orderSplit = null;
orderSplit = order.split(" ");
String errorMessage = "";
checkValue(orderSplit, errorMessage);
if (errorMessage == "") {
System.out.println("SUCCESS");
}
}
public static String checkValue(String[] orderSplit, String errorMessage) {
// check the ordersplit values
return errorMessage;
}
}
도움 주셔서 감사합니다. 그것은 그 문제를 해결했습니다. 이제 배열을 사용하여 checkValue 메소드 내에 여러 변수를 정의하면 어떻게 이러한 변수를 main 메소드로 다시 전달할 수 있습니까? 감사. – scriptdiddy
기본적으로, 그렇게해서는 안됩니다. 방법은 단 하나의 책임과 가능한 적은 부작용을 가져야합니다. 메소드의 책임이 배열을 검사하는 것이라면, 다른 일을해서는 안됩니다. 또한 문제가 해결되면 답변을 upvote 받아 받아 들여야합니다. 그것은 당신이 여기에 감사하는 방법입니다. –
투표를 올리려면 내가 갖고 있지 않은 평판이 필요합니다. 그러나 나는 당신에게 그것을 표시했는지 확인합니다. 감사. 그래서 저는 다시 변수를 다시 정의해야 할 것이라고 생각합니다. 단지 중복되지 않기를 바랬습니다. – scriptdiddy