我想为我的程序创建一个输入和输出对话框。我已经尝试使用扫描仪实用程序,但我一直收到错误,所以我想通过输入和输出对话框使其成为图形。如何创建一个带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 :(得分: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
将输入字符串分隔为n
,其变为46
,k
变为14
。
最后一行向用户显示消息,调用您想要的方法。