2016-10-31 2 views
-1

내 클래스는 출력을 수행하고 (System.out.println()) 다른 클래스는이 출력을 입력으로 사용합니다 (Scannerscan.hasNextInt()scan.nextInt()). 아시다시피,이이이 출력을 어떻게 입력으로 인식합니까? . (. 내가 누를 수 없기 때문에 나중에라도 입력)출력에 입력을 넣는 방법

@Override 
public void actionPerformed(ActionEvent e) { 
    System.out.println(e.getActionCommand()); 
} 

그래서이가하는 출력을 (그 버튼을 ... 동작 명령 좌표 X + Y 있습니다이해야 입력과 출력을 취

if(scan.hasNextInt()) { 
    x = scan.nextInt(); 
    if(x < 0 || x >= this.length) { 
     System.out.println("Falsche Eingabe! Nochmal!"); 
     count--; return; 
    } 
} 
+2

코드를 공유하시기 바랍니다. – 4castle

+1

다른 클래스에있는 메서드를 호출하고 인쇄중인 String을 매개 변수로 전달하는 것이 더 좋을 수 있습니다. – Chains

+0

@Override \t 공개 무효의 actionPerformed (ActionEvent의 전자) \t \t \t { 에서 System.out.println (e.getActionCommand()); . \t} 그래서이이 정상적으로 출력 (그 버튼 ... 동작 명령이 좌표 X + Y이다 않는 입력으로의 출력을 취 경우 (scan.hasNextInt()) \t \t { \t \t \t scan.nextInt X =(); \t \t \t 경우 (X = < 0 || x > 식에서 나타내지) \t \t \t \t { \t \t \t System.ou t.println ("Falsche Eingabe! Nochmal ");! \t \t \t \t count--, \t \t \t \t 반환;.. 당신이 스트림을 두를 연결하는 공유 할 수 깨끗한 것 관찰자를 사용 \t \t \t} \t \t} –

답변

0

두 클래스가 동일한 프로세스 (동일한 JVM)의 일부인 경우 한 클래스에서 다른 클래스의 메서드에 String을 전달해야합니다 (두 번째 클래스가 해당 String을 구문 분석하면 실제 값 [ints]을 전달하거나 POJO (getter 메소드가 메소드 매개 변수 인 Java 객체)를 전달해야합니다.

두 클래스가 분리 된 프로세스 [두 개의 주 (...) 메소드가있는 경우]는 운영 체제 질문 일 수 있으며 Java 기반 프로세스 간 통신 (소켓, 공유 메모리 , 공유 파일 등)

예를 들어 Unix (유닉스 계열) 운영 체제에서는 한 프로세스의 출력을 다른 프로세스의 입력으로 파이프 (리디렉션) 할 수 있습니다.

여기에 자바 프로세스 간 통신에 관한 질문입니다 :

How to have 2 JVMs talk to one another

관련 문제