Dann ist eine ordentliche Strukturierung der Datenmodelle um so wichtiger. Denn irgendwann kannst du dir nicht mehr alles merken.
Meiner Meinung nach steht und fällt jedes Programm, das nicht nur einen schlichten Algorithmus darstellt, mit der Datenverwaltung. Wenn die nicht passt, dann wird das nichts.
Der zweitwichtigste Punkt ist Wartbarkeit. Immer wiederkehrende Abläufe gehören in eigene Methoden mit lesbarem Namen. Dein Programm fasst du vielleicht erst in einem oder zwei Jahren wieder an und musst was anpassen. Bis dahin hast du längst alles darüber vergessen. Deshalb ist die Dokumentation der Methoden wichtig (Stichwort javadoc) und auch, dass die Klassenstruktur verständlich bleibt.
Welche "Tools importiert" (du meinst die imports ganz oben am Anfang der Klasse?) werden müssen, ist mitunter das Unwichtigste. Das sind Implementierungsdetails, die mit der Planung nicht viel zu tun haben. Deine Datenquellen mögen sich irgendwan ändern, irgendwann kommen die Eingaben aus einer Datei oder aber du verwendest ein anderes Framework, aber es soll das gleiche passieren. Importiere nur bei Bedarf, sobald ein Zugriff darauf erfolgt und nicht erkannt wird.
Aus dem selben Grund ist es wichtig, Berechnungen und Input/Output strikt getrennt zu halten und System.out und die Verwendung von System.err zu vermeiden, wo immer es geht. Dafür gibt's Logger-Interfaces. Am Ende mögen die vielleicht nach System.err oder System.out ausgeben, aber im Code sollte das nur sehr sporadisch vorkommen, wenn z.B. eine Eingabe ansteht (edit: Ist aber jetzt nicht einer der dringendsten Punkte, nur ein Gedanke, der mir dazu gekommen ist).
Die "Hauptklasse" ist nur dein Startpunkt. Es ist nicht unüblich, dass eine Main-Klasse überhaupt nur eine Methode hat, die nichts anderes macht, als das Programmfenster zu öffnen, eventuell noch ein paar mehr, um Konfigurationsdateien einzulesen. Es müssen bei weitem nicht alle Methoden dort rein. Wenn du z.B. viele mathematische Methoden hast, sammle sie in einer eigenen Klasse.
Weiters: Das Organisieren deiner Klassen in Packages, nicht alles in das gleiche Package. Reduziere Sichtbarkeiten, so weit es geht. Private, Package Protected usw. Nur was von außen angesprochen werden soll, wird public.
Was die Organisation der Klassen und Packages angeht, ist es heute auch üblich, in den Packaganemane Ersteller und Programmname mit unterzubringen, z.B. kann der Name Hauptklasse so lauten: org.meineid.programmname.Main.
Aber gewöhn dir eine IDE an. Welche genau, ist eher irrelevant. Ich bin Netbeans-Anhänger, andere schwören auf Eclipse oder IntelliJ. Das sind nur persönliche Präferfenzen. Selbst berndoa hat sich überzeugen lassen, der war auch ein Consolero. Wir alle haben mal mit Texteditoren angefangen. Aber es ergibt keinen Sinn, auf Knien durch die Gegend zu robben und sich die Hände am Boden anzukleben, wenn man auch stehen kann.
Dein Editor wird sich bei Refactoring schwer tun, oder beim Anzeigen der API-Dokumentation. Und mit einer IDE lernst du dann auch, wie man ein Projekt ordentlich organisiert und hast die notwendigen Werkzeuge dazu. Du solltest dich nicht mit Micromanagement aufhalten müssen (Dateinamen, Vereinheitlichen von Verzeichnisstrukturen und Packagenamen), damit du dich auf die Entwicklung konzentrieren kannst.