2017-12-16 2 views
-1

내 프로그램에 대한 입력 및 출력 대화 상자를 만들고 싶습니다. 스캐너 유틸리티를 사용해 보았지만 오류가 발생하여 계속 출력 대화 상자에서 그래픽으로 만들고 싶습니다. n과 k를 취하고 binomkoeff 메서드를 사용하는 출력 대화 상자에서 출력 대화 상자를 만드는 방법은 무엇입니까? 어떻게하면 대화 상자에서 int 인자를 사용할 수 있습니까?솔루션 및 방법의 그래픽 입력 및 출력

package aufgabe2; 

import java.util.Scanner; 

import javax.swing.JOptionPane; 

public class aufgabe2 
{ 
    private static int binomkoeff(int n, int k) 
    { 
    if (k==0) 
     return 1; 
    else if (k>n-k) 
     return binomkoeff(n, n-k); 
    else 
     return binomkoeff(n-1, k-1)*n/k; 
} 

public static void main(String[] args) 
{ 
    //System.out.println(binomkoeff(6, 5)); 
    Scanner sc = new Scanner(System.in); 
    int n = sc.nextInt(); 
    int k = sc.nextInt(); 
    //I'd rather have an input dialog than Scanner 
    //System.out.println(binomkoeff(n, k)); 
    JOptionPane.showMessageDialog (binomkoeff(n, k); 



    } 
} 
+0

"스캐너를 사용해 보았습니다 ...하지만 오류가 계속 발생합니다."아마도 당신은 질문에 전체 스택 추적을 추가하여 오류를 수정하는 데 에너지를 쏟아야합니다. 그래픽 사용자 인터페이스는 지식의 중요한 새로운 영역입니다. – VGR

답변

0

실제로 문제는 없습니다. 시스템이 사용자의 입력을 기다리고 있지만 터미널 창이 아직 열리지 않은 것입니다.

System.in을 사용하면 콘솔은 터미널 창에서 InputSream 을 기다리고 있습니다.

또한 메시지 대화 상자는 사용자의 입력을 허용하지 않으며 메시지 만 표시합니다. 당신은 대신주는 InputDialog을 사용해야합니다

String input = JOptionPane.showInputDialog(null, "Enter two numbers:"); 
    Scanner sc = new Scanner(input); 
    int n = sc.nextInt(); 
    int k = sc.nextInt(); 
    JOptionPane.showMessageDialog(null, ""+binomkoeff(n, k)); 

input 즉 "46 14"에서 허용하는 문자열입니다. Scanner

46된다 n14된다 k 행에 입력 된 문자열을 분리한다.

마지막 줄에는 사용자에게 원하는 방법을 호출하는 메시지가 표시됩니다.