다른 클래스에서 클래스를 실행하려고합니다. 그러나 클래스 이름을 배열에 저장할 때 형식을 변경하도록 요청합니다. 나는 사용자가 배열에 공급 될 숫자를 입력하고 그 배열 값에서 클래스를 실행하기를 원한다. 여기 내 코드는 지금까지 있습니다 : 그들이 return statement
를 추가하고 다음 날 class
을 입력하는 void
에서 클래스 유형을 변경 만들고 있기 때문에클래스 유형 (또는 리턴)을 변경하지 않고 다른 클래스의 클래스를 호출하십시오. Java
public class All_Challenges {
public static void main(String[] args) {
System.out.println("Which class do you want to run?: ");
System.out.println("1. The first class");
Class[] theFiles = new Class[31];
theFiles[1] = Challenge_1_Whats_Your_Name.main(args);
theFiles[1].main(args);
}
}
마지막 두 줄은 나에게 오류를주고있다. 나는 약 30 개 정도를 가지고 있으므로 다른 모든 수업에서 나의 메인 방식을 바꾸지 않는 것을 선호합니다. 이 일을 할 필요가 없도록 어떤 물건을 써야합니까? 내 배열이 "유형"인 것과 관련이 있다고 생각합니다. 또는 라인과 관련이있을 수도 있습니다. main.(args);
이상한 부분은 배열에서 호출하지 않을 때 유형을 변경하라는 메시지가 표시되지 않는다는 것입니다.
당신이 달성하려고하는지 분명하지 않다 - 왜 당신이 배열을 전혀 만들지 않습니까? 당신은 그것으로 무엇을 기대합니까? –
일반적으로 JVM은 사용자 대신 직접 main() 메소드를 호출합니다. 여기서 성취하려는 것을 알려주십시오. –
'main (args)'를 변수 (무엇이든간에)'Class' 객체 나 다른 변수의 인스턴스에 호출 한 결과 인'void'를 할당합니다. 왜냐하면'void'가 할 수 있기 때문에 당신은 할 수 없습니다 값으로 설정 될 수 없습니다. 당신이해야 할 일은 클래스를 그 배열에 저장하는 것일 것입니다. 그리고 그것을 리플렉션하여 특정 메소드를 호출하는 것입니다. 당신이하고 싶은 것을 더 명확히하지 않는 한. – Yazan