ユーザー入力を取得してから体積計算を実行する必要があるプロジェクトがあります。これらはすべて、いくつかの異なる形状に対して達成しました。ただし、入力と計算を各形状のファイルに保存し、選択した場合に後で読み取ることができるようにする必要があります。私はこれをいくつかの異なる方法で実行しようとしましたが、役に立ちませんでした。最近の試行を除いて、すべてが構文エラーを引き起こしました。ただし、この試みはファイルに書き込むようには見えず、1 行で 0.0 しか返されません。どんな助けでもいただければ幸いです
public JButton getCalculateButton()
{
JButton spa;
spa = new JButton("Calculate Volume");
spa.setMnemonic('C');
spa.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
DecimalFormat num = new DecimalFormat(",###.##");
double length, depth, volume;
String instring;
instring = lengthField.getText();
if (instring.equals("")){
instring = "0";
lengthField.setText("0");
}
length = Double.parseDouble(instring);
instring = depthField.getText();
if (instring.equals("")){
instring = "0";
depthField.setText("0");
}
depth = Double.parseDouble(instring);
volume = length * 8 * 4.8284 * depth;
volumeField.setText(num.format(volume));
}
});
return spa;
}
public JButton getSaveButton(){
JButton save;
save = new JButton("Save Data");
save.setMnemonic('C');
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
PrintWriter writer;
try {
writer = new PrintWriter(new FileWriter("spaFile.txt"));
writer.printf(String.valueOf(length), String.valueOf(depth), String.valueOf(volume));
writer.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
return save;
}
これは私の GUI の一部であり、計算を行い、できればデータを保存していたはずですが、そうではありません。
public JButton getSearchButton()
{
JButton search;
search = new JButton("Search");
search.setMnemonic('S');
search.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileInputStream fileStream;
try {
fileStream = new FileInputStream("spaFile.txt");
DataInputStream in = new DataInputStream(fileStream);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
System.out.println(reader.readLine());
reader.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
return search;
}
}
それは読むべき部分ですが、テスト目的でまだ GUI として完全には持っていません。