私はかなり新しいJavaです。私は自分のコードを3つのクラスに分けたいと思う。最初のクラスは私のGUIを含み、2番目はアルゴリズムを計算し、3番目のクラスは結果をファイルに書き出す。私はコードが動作しているが、私は3つの別々のクラスでは、基本的に私のメソッドComputer()でそれを分割することはできません。私は3つのステップをすべて持っていると私は2つの別のクラスでそのメソッドを分割したいので、アルゴリズムクラスとライターからファイルクラスへの変換。私は私の試みで3枚の画像をアップロードします、ありがとうございます。プログラムを3つのクラスに分割する(継承)
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class PrimeNumbers {
private JFrame frame;
private JTextField textField;
public static void main(String[] args) {
PrimeNumbers window = new PrimeNumbers();
window.frame.setVisible(true);
}
public PrimeNumbers() {
initialize();
}
public List<Integer> Calculate() throws IOException {
String getTxt = textField.getText();
Integer x = Integer.parseInt(getTxt);
List<Integer> list = new ArrayList<>();
boolean [] isComposite = new boolean [x + 1];
isComposite[1] = true;
for (int i = 2; i <= x; i++) {
if (!isComposite[i]) {
list.add(i);
int multiple = 2;
while (i * multiple <= x) {
isComposite [i * multiple] = true;
multiple++;
}
}
}
File file = new File("C:/Users/TudorV/Desktop/File.csv");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(String.valueOf(list));
bw.close();
JOptionPane.showMessageDialog(frame, list);
return list;
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField();
frame.getContentPane().add(textField, BorderLayout.NORTH);
textField.setColumns(10);
JButton btnGetPrimeNumbers = new JButton("Get prime numbers");
btnGetPrimeNumbers.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
Calculate();
} catch (IOException e) {
e.printStackTrace();
}
}
});
frame.getContentPane().add(btnGetPrimeNumbers, BorderLayout.SOUTH);
}
}
。 :-)もっと正確に言えば、あなたを止めていますか? –
あなたの試みや、それがうまくいくと思われる方法の簡略化した説明を教えてください。それに加えて、大文字で始まるメソッド名(例: 'List Calculate()')を妨げるJavaコードの規約を見てください。 –
Thomas
私はあなたのコードがうまくいけば、 –