标题并不是我的全部问题。从理论上讲,我知道如何组织代码,但我想要一些具体的、有用的指针。请在抱怨之前继续阅读。
我是 java 和 OOP(面向对象编程)的初学者,我真的很想学习如何更好地组织我的代码!在一两个月的时间里,我制作了一个计算器程序,里面有一些我想到的小功能,还内置了一些小笑话。第二次查看后,我意识到它的格式非常糟糕,几乎难以理解。如果可以的话,我想请一些更有经验的程序员为我指明正确的方向,告诉我应该做什么来修复它(例如,我可以把什么东西变成物体,我可以在哪里划分,等等)。
请注意,这是我第一次在这样的论坛上发帖,所以如果我需要澄清一些事情来帮助我,我做错了什么,我要求太多,请告诉我,以便我可以解决它我可以获得帮助。请不要只是将其标记为无效并将其归档以遗忘(就像 stackoverflow 中经常发生的那样)。另外,在有人问之前,不,这不是家庭作业,它是我自己自学 java 的成果(可能是为什么它效果不太好)。
这是源代码:
// This is the original Calculator code without objects in a single class. not really efficient...
package randomClasses;
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;
@SuppressWarnings("serial")
public class CalcClass
extends JFrame
implements ActionListener {
JPanel[] row = new JPanel[6];
JButton[] button = new JButton[21];
String[] buttonString = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", ".", "/", "C", "v", "+/-", "=", "0", …Run Code Online (Sandbox Code Playgroud) 我想在我创建的名为“DocumentGenerator”的类中使用 java.nio.files.Path 但我不确定在使用未传入另一个 Path 对象的构造函数时如何实例化和初始化它。这是我的类变量和两个构造函数:
private ArrayList<String> totalOutput;
private ArrayList<String> programInput;
private Scanner in;
private String savePath, fileName;
private Path file;
public DocumentGenerator(Path file) {
this.programInput = new ArrayList<String>();
this.totalOutput = new ArrayList<String>();
this.in = new Scanner(System.in);
this.file = file;
this.savePath = "";
this.fileName = "";
}
public DocumentGenerator(String savePath, String fileName) {
this.programInput = new ArrayList<String>();
this.totalOutput = new ArrayList<String>();
this.in = new Scanner(System.in);
this.savePath = savePath;
this.fileName = fileName;
this.file =
}
Run Code Online (Sandbox Code Playgroud)
在第二个构造函数中, savePath 和 fileName 在我将它们放入我的 Paths …