Erste Schritte Import von Klassen

E

Eyman

Gast
Halli, Hallo liebe Java-forum Gemeinde!

Ich habe ein Problem mit dem import von Paketen, ich hoffe ihr könnt mir weiterhelfen.
Programmiert wird in Eclipse.

Meine Hauptdatei Programm.java ist die folgende:

Programm.java
Java:
import zahlen.Rechnen;
import zeichenketten.ZeichenkettenManipulation;

public class Programm {



	public Programm() {
		
		
		
		
		System.out.println(verbindeString("A", "B"));
		System.out.println(aIstGleichB("a", "a"));
		System.out.println(aIstGleichB("a", "b"));
		System.out.println(aIstKleinerAlsB("a", "b"));
		System.out.println(aIstKleinerAlsB("a", "a"));
		System.out.println(aIstKleinerAlsB("b", "a"));
		System.out.print("Das Zeichen an position 3 ist: ");
		System.out.println(holeZeichenAnPosition(
				"Das Zeichen an position 3 ist: ", 3));
		System.out.println(ersetzeMitte("yaaaaaaaay:axaxaxaxa:yaaaaaaay", ':'));
		System.out.print("2+3 ist");
		System.out.println(addition(2, 3));
		System.out.print("2-3 ist");
		System.out.println(subtraktion(2, 3));
		System.out.print("2*3 ist");
		System.out.println(multiplikation(2, 3));	

		
	}

	

	

	public static void main(String[] args) {
		
		new Programm();
	}

}

Der Ordnung halber habe ich die Methoden in 2 verschiedene Klassen in wiederum 2 verschiedenen Paketen aufgeteilt

Paket zahlen/Rechnen.java :
Java:
package zahlen;


public class Rechnen {

	public int addition(int a, int b){
		return(a+b);
		}
		
	 public int subtraktion(int a, int b){
		return(a-b);
		}
		
	public int multiplikation(int a, int b){
		return (a*b);
		}
}

und Paket zeichenketten/ZeichenkettenManipulation.java :
Java:
package zeichenketten;


public class ZeichenkettenManipulation {

	String verbindeString(String a, String b) {
		return(a+b);
		}

		boolean aIstGleichB(String a, String b) {
		return(a.equals(b));
		}

		boolean	aIstKleinerAlsB(String a, String b) {
			boolean c;
			if(a.compareTo(b) < 0){
			 c = true;
			}else{
			 c = false;
			}
		return c;
		}

		char holeZeichenAnPosition(String input, int position) {
		return(input.charAt(3));
		}

		String ersetzeMitte(String input, char trenner) {
		

			int index = input.indexOf(trenner)+1;
			int index2 = input.indexOf(trenner, input.indexOf(trenner)+1);
			String teilOriginalString = input.substring(index, index2);
			String neuerTeilOriginalString = teilOriginalString.replace("a", "X");
			
			String ausgetauschterString = input.replace(teilOriginalString, neuerTeilOriginalString);
			String entferneTrennzeichenAusgetauschterString = ausgetauschterString.replace(":", "");
		
		return entferneTrennzeichenAusgetauschterString;
		
		}
	
}

Das Problem ist, dass keine der Methoden aus den zusätzlichen Paketen in meinem Hauptprogram zur Verfügung steht und benutzt werden kann, weiß Jemand vielleicht was ich falsch gemacht, bzw. vergessen habe ?

Über eine Antwort würde ich mich überaus freuen :)

Liebe Grüße

Eyman
 
N

nillehammer

Gast
Wie Fab geschrieben hat, musst Du erst
Code:
new ZeichenkettenManipulation()
machen, um die Methoden aufrufen zu können. Ich würde hier für den Anfang aber einen alternativen Ansatz vorschlagen. Da es sich hier um Hilfsmethoden handelt, die rein mit ihren Parametern arbeiten, setze das Schlüsselwort
Code:
static
vor die Methodendefinitionen. Dann geht es. Danach googelst Du mal nach "static/non static Java" oder so ähnlich und versuchst, den Unterschied zu verstehen ;)
 
B

bone2

Gast
dir fehlen doch auch die sichtbarkeiten, zumindest bei den zeichenketten methoden.
verbindeString hat ohne public nur package sichtbarkeit.

du hast eclipse, das unterstreicht doch alles rot und gibt dir hinweise.
 
Zuletzt bearbeitet von einem Moderator:
E

Eyman

Gast
Danke erstmal für die zügigen Antworten.

Die fehlenden Sichtbarkeiten bemängelt Eclipse bei mir nicht :/

Der Code läuft jetzt, ich habe alle Sichtbarkeiten auf public gesetzt und alle Methoden static gemacht.
Die Methodenaufrufe habe ich auch angepasst mit zb Rechnen.addition.... .

Ich nehme mal an die static Variante ist normalerweise nicht das gelbe vom EI, wie könnte ich das denn anders lösen ?

Hier nochmal mein angepasster Code:

Programm.java
Java:
import zahlen.Rechnen;
import zeichenketten.ZeichenkettenManipulation;

public class Programm {

	

	public Programm() {
		
		
		
		
		System.out.println(ZeichenkettenManipulation.verbindeString("A", "B"));
		System.out.println(ZeichenkettenManipulation.aIstGleichB("a", "a"));
		System.out.println(ZeichenkettenManipulation.aIstGleichB("a", "b"));
		System.out.println(ZeichenkettenManipulation.aIstKleinerAlsB("a", "b"));
		System.out.println(ZeichenkettenManipulation.aIstKleinerAlsB("a", "a"));
		System.out.println(ZeichenkettenManipulation.aIstKleinerAlsB("b", "a"));
		System.out.print("Das Zeichen an position 3 ist: ");
		System.out.println(ZeichenkettenManipulation.holeZeichenAnPosition(
				"Das Zeichen an position 3 ist: ", 3));
		System.out.println(ZeichenkettenManipulation.ersetzeMitte("yaaaaaaaay:axaxaxaxa:yaaaaaaay", ':'));
		System.out.print("2+3 ist");
		System.out.println(Rechnen.addition(2, 3));
		System.out.print("2-3 ist");
		System.out.println(Rechnen.subtraktion(2, 3));
		System.out.print("2*3 ist");
		System.out.println(Rechnen.multiplikation(2, 3));	

		
	}

	

	

	public static void main(String[] args) {
		
		new ZeichenkettenManipulation();
		new Rechnen();
		new Programm();
		
	}

}

Rechnen.java
Java:
package zahlen;


public class Rechnen {

	public static  int addition(int a, int b){
		return(a+b);
		}
		
	 public static int subtraktion(int a, int b){
		return(a-b);
		}
		
	public static int multiplikation(int a, int b){
		return (a*b);
		}
}

ZeichenkettenManipulation.java

Java:
package zeichenketten;


public class ZeichenkettenManipulation {

	public static String verbindeString(String a, String b) {
		return(a+b);
		}

		public static boolean aIstGleichB(String a, String b) {
		return(a.equals(b));
		}

		public static boolean	aIstKleinerAlsB(String a, String b) {
			boolean c;
			if(a.compareTo(b) < 0){
			 c = true;
			}else{
			 c = false;
			}
		return c;
		}

		public static char holeZeichenAnPosition(String input, int position) {
		return(input.charAt(3));
		}

		public static String ersetzeMitte(String input, char trenner) {
		

			int index = input.indexOf(trenner)+1;
			int index2 = input.indexOf(trenner, input.indexOf(trenner)+1);
			String teilOriginalString = input.substring(index, index2);
			String neuerTeilOriginalString = teilOriginalString.replace("a", "X");
			
			String ausgetauschterString = input.replace(teilOriginalString, neuerTeilOriginalString);
			String entferneTrennzeichenAusgetauschterString = ausgetauschterString.replace(":", "");
		
		return entferneTrennzeichenAusgetauschterString;
		
		}
	
}
 
N

nillehammer

Gast
Ich nehme mal an die static Variante ist normalerweise nicht das gelbe vom EI, wie könnte ich das denn anders lösen ?
Sie hat durchaus Ihre Berechtigung, hat aber auch gewisse Nachteile. Aber bis Du Dir darüber Gedanken machen musst/kannst, ist es noch ein weiter Weg. Versuche im Moment erst Mal zu verstehen, was static macht und wo der Unterschied zu non-static ist.

P.S. Was sollen die ganzen Einzeiler-Methoden? Ich erkenne z.B. nicht so recht den Mehrwert der addition-Methode etc.
 
Zuletzt bearbeitet von einem Moderator:
B

bone2

Gast
Danke erstmal für die zügigen Antworten.
Ich nehme mal an die static Variante ist normalerweise nicht das gelbe vom EI, wie könnte ich das denn anders lösen ?
siehe:
Du musst Objekte von den Klassen erzeugen und mit diesen Objekten kannst du dann die Methoden aufrufen.



P.S. Was sollen die ganzen Einzeiler-Methoden? Ich erkenne z.B. nicht so recht den Mehrwert der addition-Methode etc.
ich vermute mal, reiner Lerneffekt.
 
E

Eyman

Gast
Sie hat durchaus Ihre Berechtigung, hat aber auch gewisse Nachteile. Aber bis Du Dir darüber Gedanken machen musst/kannst, ist es noch ein weiter Weg. Versuche im Moment erst Mal zu verstehen, was static macht und wo der Unterschied zu non-static ist.

P.S. Was sollen die ganzen Einzeiler-Methoden? Ich erkenne z.B. nicht so recht den Mehrwert der addition-Methode etc.

Okay danke, das versuche ich.

Ich lerne gerade erst die Grundlagen von Java an der Uni.
Die Methodennamen waren schon vorgegeben, wir sollten quasi nur die Sichtbarkeit, den Rückgabewert und den Inhalt der Methode schreiben und einen return-Wert liefern.
Eine Aufgabe war dann das aufräumen der Klassen, diese sollten wir gesondert in Paketen speichern.

Die Aufgabe dient einzig und allein dem Verständnis und hat eig. keinen tieferen Sinn :)

Liebe Grüße

Eyman
 
B

bone2

Gast
Java:
import zahlen.Rechnen;
import zeichenketten.ZeichenkettenManipulation;
 
public class Programm {
    ZeichenkettenManipulation zkm;
    Rechnen calc;
    
    public Programm(ZeichenkettenManipulation zkm, Rechnen calc) {
        this.zkm = zkm;
        this.calc = calc;
    }
 
    public static void main(String[] args) {
        ZeichenkettenManipulation mainZkm = new ZeichenkettenManipulation();
        Rechner mainCalc = new Rechnen();
        Programm prog = new Programm(mainZkm, mainCalc);
        prog.machZeugs();
    }
    
    private void machZeugs() {
        System.out.println(zkm.verbindeString("A", "B"));
        System.out.println(zkm.aIstGleichB("a", "a"));
        System.out.println(zkm.aIstGleichB("a", "b"));
        System.out.print("2*3 ist");
        System.out.println(calc.multiplikation(2, 3));   
    }
}

und feierabend
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
K OOP Java import zwei gleichnamiger Klassen Java Basics - Anfänger-Themen 5
M java erkennt import-klassen nicht?! Java Basics - Anfänger-Themen 39
F import Statement für Klassen die dem default Package zugeordnet sind? Java Basics - Anfänger-Themen 2
N einbinden von anderen klassen mittels import Java Basics - Anfänger-Themen 2
B Import von Klassen Java Basics - Anfänger-Themen 3
B Kann mir einer die Import Klassen erklären? Java Basics - Anfänger-Themen 8
A import von klassen Java Basics - Anfänger-Themen 2
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
F Import SSL Zertifikat in keystore Java Basics - Anfänger-Themen 10
M import com.sun.star.uno Java Basics - Anfänger-Themen 25
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
java-starter Erste Schritte import von package Java Basics - Anfänger-Themen 4
J The import org.bukkit cannot be resolved Java Basics - Anfänger-Themen 3
E Paketstruktur und import Klauseln Java Basics - Anfänger-Themen 14
D import Befehle Java Basics - Anfänger-Themen 3
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
O Package import-Klausel Java Basics - Anfänger-Themen 10
O extrends vs. import Java Basics - Anfänger-Themen 14
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
W JavaFX import Fehler/Zellularautomaten Java Basics - Anfänger-Themen 1
T Erste Schritte JAR import Fehler Java Basics - Anfänger-Themen 2
Textsurfer Erste Schritte CSV Import Reader Writer Java Basics - Anfänger-Themen 0
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G import utils.SourceHandler; Java Basics - Anfänger-Themen 5
L Klasse/Variable import Java Basics - Anfänger-Themen 7
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
slejden Erste Schritte der Befehl import Java Basics - Anfänger-Themen 2
D Bitte um Hilfe bei "error: package com.apple.eawt does not exist import com.apple.eawt.*;" Java Basics - Anfänger-Themen 1
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J BlueJ und import-Anweisungen, wie geht das? Java Basics - Anfänger-Themen 4
I DATEV import / export Java Basics - Anfänger-Themen 2
O Probleme beim import von Projekten in Eclipse Java Basics - Anfänger-Themen 7
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
F Import von Zip-Datei in Eclipse Java Basics - Anfänger-Themen 1
? Klassen Verständnisprobleme mit Import Anweisungen Java Basics - Anfänger-Themen 6
FINF_AW_Alex import funktioniert nicht Java Basics - Anfänger-Themen 4
A Import anderer Classen aus anderen Projekten Java Basics - Anfänger-Themen 6
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
M import von eigener Klasse Java Basics - Anfänger-Themen 12
S import java.*; vs import java.awt.TextArea Java Basics - Anfänger-Themen 7
B ThreadPoolExecutor - import java.util.concurrent Java Basics - Anfänger-Themen 2
F import Prog1Tools.IOTools Java Basics - Anfänger-Themen 9
J Aus "import" die genutzte Library erfahren Java Basics - Anfänger-Themen 4
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
B Compiler-Fehler import java.io.*; führt zu error Java Basics - Anfänger-Themen 2
N Probleme mit dem Import Java Basics - Anfänger-Themen 8
J ORACLE Spatial ungültiger Spaltenindex beim Import Java Basics - Anfänger-Themen 2
D Geschwindigkeits unterschied bei import? Java Basics - Anfänger-Themen 13
C import Java Basics - Anfänger-Themen 7
O Compiler-Fehler import funktioniert nicht Java Basics - Anfänger-Themen 2
D Import von import org.apache.commons.math3...... Java Basics - Anfänger-Themen 2
J Import in Java Java Basics - Anfänger-Themen 4
A Import Anwendungen Java Basics - Anfänger-Themen 2
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
S Erste Schritte import für andere Klassenfiles verfügbar machen? (Java unter Eclipse) Java Basics - Anfänger-Themen 8
F Problem mit import Java Basics - Anfänger-Themen 8
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
T .Java Import Java Basics - Anfänger-Themen 19
N Erste Schritte import javax.media.3d....; //Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 10
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
Q Classpath Package import Java Basics - Anfänger-Themen 6
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
B Wie funktioniert der Import von Dritt-packages in Eclipse? Java Basics - Anfänger-Themen 5
C Fehlermeldung "The import TestProjekt cannot be resolved". Warum? Java Basics - Anfänger-Themen 7
W Problem beim CSV-Import Java Basics - Anfänger-Themen 5
K Collections Problem beim import von Packages Java Basics - Anfänger-Themen 10
F Import mit .* oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
F Problem mit "import" Java Basics - Anfänger-Themen 9
M Import Unicode Textfile Java Basics - Anfänger-Themen 10
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
W Wann nutze ich "import"? Java Basics - Anfänger-Themen 12
M JS Import aus externer Jar Datei Java Basics - Anfänger-Themen 5
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
M import einer Grafik aus .jar funktioniert nicht Java Basics - Anfänger-Themen 6
1 JMF Import Problem Java Basics - Anfänger-Themen 3
D import-fehlermeldung Java Basics - Anfänger-Themen 3
K OOP import Java Basics - Anfänger-Themen 13
B import Anweisung Java Basics - Anfänger-Themen 2
D OOP Pakete Import Java Basics - Anfänger-Themen 15
T Netbeans: Import von Externen Packet Java Basics - Anfänger-Themen 5
T Import von org.* Java Basics - Anfänger-Themen 6
E Frage zu "import" Java Basics - Anfänger-Themen 5
J Import von Paketen Java Basics - Anfänger-Themen 10
U2nt import wird nicht "angenommen" Java Basics - Anfänger-Themen 9
O import ja....extends nein Java Basics - Anfänger-Themen 5
T The import In cannot be resolved Java Basics - Anfänger-Themen 31
X Befehl import Java Basics - Anfänger-Themen 21
T import java.util.scanner cannot be resolved Java Basics - Anfänger-Themen 19
G JAR ohne import in anderer JAR aufrufen Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
E import org.eclipse.swt.Events.PaintListener; Java Basics - Anfänger-Themen 1
D Import Java Basics - Anfänger-Themen 2
C import von Java Klasse ohne package Java Basics - Anfänger-Themen 10
P import java.awt.*; nicht gefunden? Java Basics - Anfänger-Themen 21

Ähnliche Java Themen

Neue Themen


Oben