入力値のグループの頻度を調べるJavaコードを作成しました。 これは出力の最後の部分の外観です。java gui window
境界は、次のとおり
区間[11.5から27.5]は含ま:2数(S)
は区間[27.5から43.5]は含まれています:1基の数(S)
区間[43.5から59.5まで]の要素を
インターバルを含まない[59.5から75.5]は含まれています:1基の数(S)
区間[75.5から91.5]が含まれています:1基の数(S)
私はGUIに変換しようとしましたが、少し問題がありました: 結果の各行が新しいウィンドウに表示されています。私は結果のグループが1つのウィンドウで来る作るのですか
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Frequency
{
private static ArrayList<Integer> FindNumbersInInterval(int[] array,double startInterval,double endInterval)
{
ArrayList<Integer> result = new ArrayList<Integer>() ;
for(int v: array)
{
if(v >= startInterval && v <= endInterval)
{
result.add(v);
}
}
return result;
}
public static void main(final String args[])
{
int smallest = Integer.MAX_VALUE;
int largest = Integer.MIN_VALUE;
int range = 0;
String numberOfNumbers =
JOptionPane.showInputDialog("How many numbers do you want to enter: ");
int num=Integer.parseInt(numberOfNumbers);
int array[]=new int[num];
for(int i=0; i<array.length; i++)
{
String theNumbers =
JOptionPane.showInputDialog("Enter the numbers now: ");
array[i]=Integer.parseInt(theNumbers);
{
if(array[i] < smallest)
smallest = array[i];
if(array[i] > largest)
largest = array[i];
}
}
JOptionPane.showMessageDialog(null,"Smallest is "+smallest,"Smallest",JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null,"Largest is "+largest,"Largest",JOptionPane.PLAIN_MESSAGE);
range = largest - smallest;
JOptionPane.showMessageDialog(null,"Range is "+range,"The Range",JOptionPane.PLAIN_MESSAGE);
String subInterval =
JOptionPane.showInputDialog("Enter the number of subinterval: ");
int subnum = Integer.parseInt(subInterval);
int subwid = range/subnum;
JOptionPane.showMessageDialog(null,"The width of subinterval is "+subwid,"width",JOptionPane.PLAIN_MESSAGE);
double boundary = smallest - .5;
JOptionPane.showMessageDialog(null,"Boundaries are ","The Boundaries",JOptionPane.PLAIN_MESSAGE);
while(boundary < largest + .5)
{
double startInterval = boundary;
double endInterval = boundary + subwid;
ArrayList<Integer> numbersInInterval = FindNumbersInInterval(array, startInterval, endInterval);
if(numbersInInterval.isEmpty())
JOptionPane.showMessageDialog(null,"Interval "+startInterval+" - "+endInterval+" does NOT contain elements","result",JOptionPane.PLAIN_MESSAGE);
else {
JOptionPane.showMessageDialog(null,"Interval "+startInterval+" - "+endInterval+" contains "+numbersInInterval.size(),"result",JOptionPane.PLAIN_MESSAGE);
}
boundary += subwid;
}
}
}
だから、私の質問は次のとおりです。
これは、GUIのコードはありますか?
のthnx ..あなたは、JOptionPaneの中に表示するためのさまざまなコンポーネントを使用する必要が
(JLabelの/ JTextFieldの)とアクションハンドラを、私はどのように知りません。 JTextfieldから取得した値についていくつかの計算を行います。 最初の部分についてループ外に表示するには、この方法はアクションハンドラより簡単です。 –
答えを更新しました –