Klassen und zugriffs Problem "Help wanted"!

Status
Nicht offen für weitere Antworten.

foxcomp

Mitglied
Hi an alle

folgendes Problem:
Ich habe drei Klassen, diese bekommen einen String Übergeben und sollen die Anzahl der Buchstaben an eine Methode einer vierten Klasse übergeben und diese dann auch wieder auslesen können.

Ich brauche nämlich die Größte zahl damit ich alle anderen Klassen damit abgleichen kann.

Ich habe gedacht dass ich eine Globale Variable anlege, doch dann habe ich in einigen Foren erfahren dass es in java keine Globalen Variablen gibt.


Hat einer ne Idee?

Z.B.



class einz{

//Bekommt einen String und ermittelt die anzahl der Buchstaben z.B. 4

//jetzt an die "classe vier " übergeben

}

class zwei{

//Bekommt einen String und ermittelt die anzahl der Buchstaben z.B. 1

//jetzt an die "classe vier " übergeben

}

class drei{

//Bekommt einen String und ermittelt die anzahl der Buchstaben z.B. 5

//jetzt an die "classe vier " übergeben

}



class vier{

int anzahl

void methode(int anzahl){

if(anzahl>this.anzahl){
this.anzahl = anzahl;
}


}



}
 
S

SlaterB

Gast
was soll denn das "Help wanted" im Titel?
da sollte man eigentlich gar nicht erst antworten..

alle Klassen (oder Objekte?) müssen auf das gleiche Objekt der vierten Klasse zugreifen,
dann gibts keine Probleme

wenn es nicht möglich ist am Anfang ein gemeinsames Objekt zu erstellen und zu verteilen,
dann musst du mit static arbeiten,

static Operationen oder ein static Objekt
 

foxcomp

Mitglied
Ja dann frag ich mich warum du überhaupt geantwortet hast??? :?:

Mann mann,

solche teilnehmer sind mir die liebsten sie haben genug zeit um sich über eine Frage aufzuregen aber keine zeit um mal einen vernünftigen Lösungsansatz zu liefern.

Dieses Forum heißt Anfängerforum dann gib auch eine Antwort noch besser eine Lösung für das Problem oder halte dich raus.

Ganz einfach.

Deine Antwort hilft mir überhaupt nicht weiter.
 

Marco13

Top Contributor
Ich hab ne Idee: Ihr motzt euch jetzt so lange gegenseitig an, bis der Thread geschlossen wird :D Das wird bestimmt toll.

Code:
class einz{
    public vier dieVier;
    void doit(String s)
    {
        dieVier.methode(s.length();
    }
}
....
// (Der rest so wie bei dir)

void foo()
{
    vier dieVier = new vier();
    eins dieEins = new eins();
    dieEins.dieVier = dieVier;
    ...
    // genauso bei 2 und 3
    
    eins.doit("Hallo");
}

Websuche nach
- Wie man richtig Fragen stellt
- Java Naming Conventions

Die Struktur sieht ziemlich sinnlos aus. Falls du mehr Tipps willst, weißt du, was du zu tun hast.
 

DocRandom

Top Contributor
..also den SlaterDB zu vergraulen, ist keine gute Idee!
Immerhin hilft er sehr vielen mit gutem Rat und schönen Beispielen.

Sein Ansatz das Du Dich mit statischen Objecten/ Operatoren auseinandersetzen solltest kommt nicht von ungefähr!

Da ich selber kein Freund von statischen Operatoren/Objecten bin, habe ich Dir mal ein kleines Beispiel geschrieben:

Zuerst die Kontrollklasse, auf die dann alle anderen Objecte zugreifen:
Code:
package foxcomp;

public class GroessteZahl {

	private int zahl;
	
	public GroessteZahl() {
		zahl = 0;
	}
	public void pruefeLaenge( int wortlaenge) {
		if (zahl < wortlaenge) {
			zahl = wortlaenge;
		}
	}
	public int getZahl() {
		return zahl;
	}
}
Nun die Klasse, die auf die Kontrollklasse zugreift:
Code:
package foxcomp;

public class WordCount {

	private GroessteZahl gz;
	private int anzahl;
	
	/*
	 * Dem Constructor muß eine Referenz auf die Kontrollklasse
	 * übergeben werden!
	 */
	public WordCount( GroessteZahl gz) {
		anzahl = 0;
		this.gz = gz;
	}
	public void setText(String text) {
		anzahl = text.length();
		gz.pruefeLaenge(anzahl);
	}
	public int getAnzahlZeichen() {
		return anzahl;
	}
}
..und zum Schluß unser Testprogramm:
Code:
package foxcomp;

public class Main {

	public static void main(String[] args) {
		
		/*
		 * Zuerst müssen wir die Kontrolklasse 'GroessteZahl instanzieren,
		 * da wir sie Refernz darauf an die anderen Objecte übergeben
		 */
		GroessteZahl gz = new GroessteZahl();
		/*
		 * Jetzt erzeugen wir die anderen Objecte und übergeben wie im
		 * Constructor definiert die Refernz auf die Klasse GroessteZahl mit
		 */
		WordCount eins = new WordCount(gz);
		WordCount zwei = new WordCount(gz);
		WordCount drei = new WordCount(gz);
		WordCount vier = new WordCount(gz);
		/*
		 *  Jetzt übergeben wir den Einzelnen Objekten Strings
		 *  und an der Console zur Kontrolle die Buchstabenlänge
		 */
		eins.setText("Test");
		System.out.println("Objekt eins hat eine Textlänge von: " + eins.getAnzahlZeichen() + " Zeichen");
		zwei.setText("Testprogramm");
		System.out.println("Objekt zwei hat eine Textlänge von: " + zwei.getAnzahlZeichen() + " Zeichen");
		drei.setText("EinultrakurzerText");
		System.out.println("Objekt drei hat eine Textlänge von: " + drei.getAnzahlZeichen() + " Zeichen");
		vier.setText("ganzkurz");
		System.out.println("Objekt vier hat eine Textlänge von: " + vier.getAnzahlZeichen() + " Zeichen");
		/*
		 * jetzt gucken wir nach was in unserer Kontrollklasse steht
		 */
		System.out.println("\nDie größte Wortlänge beträgt :" + gz.getZahl() + " Zeichen");
	}

}
Ich hoffe damit sind Deine Fragen jetzt beantwortet!

mfg
DocRandom
 

Marco13

Top Contributor
Das ist (unabhängig von der (noch offenen) Frage nach dem SINN des ganzen) natürlich schöner als der Hack von mir :) Aber irgendwie widerstrebte es mir, mich dafür jetzt sooo mächtig ins Zeug zu legen :roll: (Du weißt schon ...: Die Sache mit dem Wald, und dem (akustischen) output==input....)
 

DocRandom

Top Contributor
..ach in eclipse schreibt sich das fast von alleine! *fg*.
Aber ist schon klar das die Waldgeschichte noch nicht gegessen ist!

lg
DocRandom
 

moormaster

Top Contributor
Marco13 hat gesagt.:
Das ist (unabhängig von der (noch offenen) Frage nach dem SINN des ganzen) natürlich schöner als der Hack von mir :) Aber irgendwie widerstrebte es mir, mich dafür jetzt sooo mächtig ins Zeug zu legen :roll: (Du weißt schon ...: Die Sache mit dem Wald, und dem (akustischen) output==input....)

output == input kann nie true werden, da es sich vermutlich nicht um primitive Datentypen handelt und daher nur Objektreferenzen verglichen werden... Ich kenne kein InputStream, was gleichzeitig OutputStream ist... ^^
 

foxcomp

Mitglied
Danke euch beiden.
den Code muss ich noch auf mein Problem ausprobieren aber ein test hat Gezeit das es Klappt.

Echt Super :lol: :toll:

Tut mir leid aber das hätte er ja auch gleich Schreiben können dann wäre die Sache Ohne pi pa po erledigt.

Noch mal danke.

Jungs eine Frage noch, warum bekomme ich einen Fehler???
Oder wie kann ich alle klassen dazu bewegen zu prüfen ob das formular abgesendet würde?

Code:
<%

class FormTag{
	
	String action = "";
	String method = "";
	String submit = "";
	String submitName = "";
	

	FormTag(String action){
		
		this.action = action;
		
	}
	
	FormTag(String action, String method){
		
		this.action = action;
		this.method = method;
		
	}
	
	String generateStartTag(){
		
		String tag = "<form method='"+this.method+"' action='"+this.action+"'>" ;
		return tag;
	}
	
	String generateEndTag(){
		
		String tag = "</form>" ;
		return tag;
		
	}
	
	String generateSubmitButton(String submit, String submitName){
		
		this.submit = submit;
		this.submitName = submitName;
		
		String tag = "<input type='submit' value='"+this.submit+"' name='"+this.submitName+"'>" ;
		return tag;
		
	}
	



}


class InputTypeText{
	
	String name = "";
	String value = "";
	String style = "";
	String size = "20";
	String patternType = "name";// Hier muss Pattern Standart für Text rein.
	
	
	
	
	InputTypeText(String name){
		
		if(request.getParameter("submit") != null){
			
			//Fehler hier!!!!
		}
		
		this.name = name;
	}
	
	InputTypeText(String name, String style){
		
		this.name  = name;
		this.style = style;
	}
	
	InputTypeText(String name, String style, String patternType){
		
		this.name = name;
		this.patternType = patternType;
		this.style = style;
	}
	
	
	String generateInput(){
		
		
		String tag = "<input class='"+this.style+"' type='text' name='"+this.name+"' size='"+this.size+"'>" ;
		return tag;
		
	}
	
	
}

%>
 

foxcomp

Mitglied
Hier der Fehler. Soll ein jsp werden das ein Formular automatisch erzeugt und auf Fehler überprüft danach werden die Formular Daten an eine E-Mail Adresse gesendet oder in ein MySQL geschrieben.
Dabei soll man wenn man, wenn man das Formular erzeugen will möglichst wenig Code eingeben daher muss alles auf klassen ebene gesehen ob das klappt ist eine andere Sache. Ich lerne gerade JSP und habe vorher PHP gemacht in PHP ist das kein Problem aber in java fehlt mir wahrscheinlich noch die Erfahrung.


Code:
Cannot refer to a non-final variable request inside an inner class defined in a different method
 

foxcomp

Mitglied
Nein der Fehler sagt das er die request.getParameter()
falsch ist oder hier in einer Klasse nicht angelegt werden kann.
 

Tobias

Top Contributor
Ah, ok, habs gerafft. Du musst deinem Konstruktor einen Parameter request hinzufügen, über den du das Request-Objekt übergibst oder alternativ mal ausprobieren, ob es nicht vielleicht schon ausreicht die <%!-Deklarationstags statt der normalen <%-Scriplettags zu benutzen...

mpG
Tobias

P.S.: IMHO ist es günstiger, sich zunächst mit "normaler" Applikationsprogrammierung zu befassen, bevor man mit JSP rumspielt. Dann sind die Vorgänge im Hintergrund leichter zu durchschauen...
 

DocRandom

Top Contributor
.S.: IMHO ist es günstiger, sich zunächst mit "normaler" Applikationsprogrammierung zu befassen, bevor man mit JSP rumspielt. Dann sind die Vorgänge im Hintergrund leichter zu durchschauen...
hehehe, bin bei der 'normalen' Applicationsentwicklung hängen geblieben! ;)
Habe es bislang immer vermieden mich mit JSP auseinander zu setzen!

lg
DocRandom
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Root resource - Klassen werden nicht gefunden. Allgemeines EE 2
K Spring Namensgebung bei Klassen Allgemeines EE 7
L Sessions - Unterschiedlich in verschiedenen Klassen? Allgemeines EE 4
R JAVA EE - eigene Klassen aus EJB übernehmen Allgemeines EE 2
J Einige Klassen werden nicht resolved Allgemeines EE 7
P Mit JAXB erzeugte Klassen persistieren (Hibernate) Allgemeines EE 10
P Können abstrakte Klassen über WSDL versendet werden? Allgemeines EE 3
I Klassen werden nicht für Import erkannt eclipse EE Allgemeines EE 2
S In Eclipse werden die "Servlet-Klassen" nicht gefu Allgemeines EE 2
N Lokation von Bean Klassen? Allgemeines EE 5
N Reflektion und die Liste abgeleiteter Klassen/Interfaces Allgemeines EE 6
M TagLib und Referenzen zwischen Klassen Allgemeines EE 4
M Servlets | work - Klassen nicht im WAR File Allgemeines EE 5
P JSP Servlets/ Java Klassen für FTP FileUpload (Bilder) + DB Allgemeines EE 3
D Controller-Klassen eines Servlets testen mit JUnit Allgemeines EE 3
M HTML-Klassen Allgemeines EE 2
S JSP auch mit Klassen? Allgemeines EE 2
K JSP anfänger. auf eigene klassen zu greifen Allgemeines EE 8
S zugriff von jsp-seiten auf java klassen Allgemeines EE 3
D Problem mit Update von ApacheHttpClient von 5.2 auf 5.3 Allgemeines EE 10
D Problem mit redundanten Servern Allgemeines EE 7
Azemaria JSF: Problem bei der einfachsten Applikation Allgemeines EE 2
P JPA Internal Problem Nullpointer Allgemeines EE 10
S MessageDrivenBean Problem beim Zugriff auf Stateful EJB Allgemeines EE 2
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
B Problem beim Lesen des Codes... Allgemeines EE 2
R JPA Problem beim Speichern eines Users Allgemeines EE 2
S WebSocket Problem Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
G Problem: Servlet in JSP einbinden mit <jsp:include> Allgemeines EE 3
Raidri [SEAM] rich:dataTable sortBy Problem Allgemeines EE 6
T Problem mit den Beispielen von Apache Allgemeines EE 5
W JSF Validator Problem HTTP Status 500 Allgemeines EE 2
E JBoss 7.1 Datasource Problem Allgemeines EE 2
M JSP Problem -unbestimmte Anzahl von Werten Transportieren Allgemeines EE 9
S Problem mit EJB Verständnis Allgemeines EE 4
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
F JSP Problem mit Datenbankanbindung über Glassfishserver Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
E Session Problem Allgemeines EE 9
F problem mit nullpointer bei DB zugriff Allgemeines EE 2
A Erste Schritte... Problem mit Hibernate Allgemeines EE 15
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
Stillmatic sendRedirect Problem! Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
0 Problem mit librarys javax.servlet.http.HttpServletRequest cannot be resolved Allgemeines EE 1
X JBoss InitialContext problem Allgemeines EE 5
LordZed Problem mit dem einbinden von Bibliotheken, die sich gegenseitig verwenden Allgemeines EE 5
H GWT Problem beim Ausführen Allgemeines EE 8
Q Problem mit JMS und Weblogic 10 Allgemeines EE 5
E Performance-Problem beim ersten Request Allgemeines EE 4
G Multi User Problem Allgemeines EE 8
G Datasource Problem Allgemeines EE 1
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Problem mit EJB: Bean soll Objekt eigener Klasse zurückgeben Allgemeines EE 2
N JavaMail Problem Allgemeines EE 4
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
A Tomcat -- JSP: komisches Problem Allgemeines EE 11
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
B Problem mit ActionListener Allgemeines EE 13
G Simples JSF-Projekt in Eclipse - Problem Allgemeines EE 9
O eclipse - tomcat: Problem bei einfachem Webservice Allgemeines EE 16
J Problem mit EJB Aufruf und DualCore Rechner Allgemeines EE 4
J ejb3.0 datenbank problem Allgemeines EE 2
J Problem mit Zurück-Button Allgemeines EE 2
T Tomcat: JNDI + JDBC Problem Allgemeines EE 3
J problem mit jsp/js Allgemeines EE 2
B Help - EJB2 - Problem mit Hybernate und "LIMIT" Allgemeines EE 6
B JSTL Problem Allgemeines EE 8
byte Tomcat Deployment Problem (HTTP Status 503) Allgemeines EE 8
S Problem mit t:selectOneRadio und ValueChangeListener Allgemeines EE 2
S Problem mit Struts und tiles Allgemeines EE 4
B Problem mit JBoss-4.2.1.GA Allgemeines EE 8
N Tiles - JSF Problem Allgemeines EE 3
M JSF & EJB "Bean not bound" Problem Allgemeines EE 4
V MYSQL JDBC;java.lang.ClassNotFoundException; Problem Eclipse Allgemeines EE 3
megachucky JMS - Problem mit TemporaryQueue Allgemeines EE 2
G Problem mit MimeType/ContentType Allgemeines EE 4
E Java Mail problem Allgemeines EE 5
Y XFire - Maven Build Problem Allgemeines EE 2
D JSP Problem mit equals? Allgemeines EE 2
A Eclipse Start-Problem Allgemeines EE 5
S JSF - Custom converter Problem Allgemeines EE 3
Y JSF Uhrzeitausgabe Problem Allgemeines EE 4
M servlet --> jsp - problem beim umstrukturieren Allgemeines EE 5
Y JSF - rendered Problem Allgemeines EE 1
D Servlet Problem über Server Allgemeines EE 26
Zed JSF h:inputText h:outputText update Problem Allgemeines EE 2
K mysql treiber problem wenn import java.sql.* bei _servlet_ Allgemeines EE 2
S JDBC Mysql Connection Problem - datasource null Allgemeines EE 3
T Session-Problem Allgemeines EE 2
R Tiles - Layout-Problem wegen Leerzeichen Allgemeines EE 6
G Tomcat / Eclipse oder Web.xml Problem Allgemeines EE 11
S Netbeans 5.5 Visual Web Pack Problem mit INSERT und PK Allgemeines EE 4
D JSF Problem mit Action Allgemeines EE 2
D <input type="file"> Problem Allgemeines EE 6
N Struts - Problem mit <html:link> Action Allgemeines EE 3
A Problem / Fehler beim Einbinden einer Klasse in ein JSP Allgemeines EE 20

Ähnliche Java Themen

Neue Themen


Oben