Vererbung Random

Status
Nicht offen für weitere Antworten.
P

paul87

Gast
Hi,
ich muss ein kleines Programm schreiben.
Dieses Programm besitzt eine Klasse, welche von java.util.Random erbt.



Nun soll meine "Tochterklasse" eine Methode besitzen, welche ein zufälliges Zeichen zwischen ' ' (32) und '~' (126) zurück gibt.

Und eine weitere Methode, welche zweii Zeichen für die untere und obere Grneze des zurückgegeben Zeichens als Parameter hat und eine entsprechnes zufälliges zeichen zuükc gibt.


Hmm... nun wie mache ich das?
Die Verebrung bekomme hin , aber wie mache ich das mit den zufälliges Zeichen und so ?

ich würde jetzt so anfangen:
.....................................................................
import java.util.Random;
import javax.swing.JOptionPane;



class Zeichen extends java.util.Random{

.....................................................................

die methode "public int nextInt() { return next(32); }" stammt aus java .util.Random

wenn ich das richtig verstanden habe kann ich die doch jetzt in der neuen Klasse "Zeichen", die so genannte Tochterklasse, benutzen oder? aber wie stell ich das an ohne

Random zufall = new random();

so ein objekt zu erstellen??

hoffe mir kann jemand weiterhelfen. wäre euch sehr dankbar, sitz schon knapp 6std dran und komm nicht weiter. hab schon alles mögliche durchprobiert.

Gruß
 
G

Guest

Gast
Code:
public char randomChar()
{
int z=(int)(Math.random()*94+1);
z+=32;

return (char)z;

Ich weiß nicht, ob's funktioniert...
 
P

paul87

Gast
ja das hatte ich auch schon gedacht, aber es soll ja durch vererbung gemacht werden. sprich ohne die math methode.
 
G

Guest

Gast
Code:
	public char nextInt(){
		return nextInt(95)+32;		
		
	}


irgendwie so stell ich mir das vor. hab aber keine ahnung wie das genau sein muss.
 
S

SlaterB

Gast
der Zugriff auf nextInt(95) ist schon ganz gut, ohne Math und ohne new Random(), einfach auf das eigene Objekt zugreifen,
du befindest dich ja in einem Random-Objekt,

aber du solltest deine neu definierte Operation anderes nennen,
sonst gibts da Verwechslung mit Random,

und da Random ja schon public int nextInt(); definiert gäbe es in diesem Fall sogar einen Fehler,
den Returntype int kannst du nicht in char umwandeln beim Überschreiben
 
S

SlaterB

Gast
auf char casten,

und wie gesagt die Operation anders benennen
 
P

paul87

Gast
Code:
import java.util.Random;    
import javax.swing.JOptionPane;



class Zeichenkette extends java.util.Random{
	
	public int zeichen(){
		return nextInt(95)+32;
	}
	
	      
	
}

was heißt denn auf char casten? :)

[/quote]
 

SebiB90

Top Contributor
auf char casten heißt, das du es in den typ char umwandelst. du hast ja momentan ein int ;)
casten tut man indem man "(typ)" (ohne die ahnfürhungszeichen) vor den wert schreibt und typ halt mit dem entsprechenden datentyp ersetzen.
in deinem fall wäre das:
Code:
public char zeichen(){ 
      return (char) (nextInt(95)+32); 
   }
ich bin net ganz sicha, ob die klammern um die addition nötig sind, aber so funktioniert es auf jeden fall.
 

paul87

Mitglied
ier ist nochmal die aufgabe zu meinem problem.





so weit bin ich schon:

Code:
import java.util.Random;    
import javax.swing.JOptionPane;



class Zeichenkette extends java.util.Random{
	
	int obereGrenze, untereGrenze;
	
	public char zeichen1(){
		return (char)(nextInt(95)+32);
	
	}
	
	public char zeichen2(int obereGrenze, int untereGrenze){
		return (char)(nextInt(obereGrenze)+untereGrenze);
	}
	
	
}

class ZeichenketteApp{
	
	public static void main(String args[]){
			
	}
}

vielleicht könnt ihr mir noch weietr helfen. muss ich jetzt in der app stringbuffer objekte erzeugen laut aufgabenstellung? und wie ist das mit den vier konstruktoren gemeint?
 
S

SlaterB

Gast
benenne (als Anfänger) nie Paramter von Operationen und Konstruktoren wie Klassenattribute,
das sorgt nur für Verwechslung

-------

> vielleicht könnt ihr mir noch weietr helfen

du stellst also das eigene Denken ein und fragst nur noch nach fertigen Lösungen,
damit wird dir niemand mehr hier helfen,

was ist eigentlich dein Ziel? wenn du anscheinend nicht programmieren kannst oder willst, dann lasse es bleiben,
wenn du doch Interesse hast (oder haben musst nach Lehrplan), dann kannst du doch nicht schon an so einer simplen Aufgabe aufgeben,
was machst du bei den weiteren?

hier dir komplett programmieren beibringen kann keiner,
das musst du mit deinen Kollegen machen

-----

die ersten zwei Konstruktoren aus der Aufgabe sollten klar sein,
dann noch zwei mit zusätzlichen long-Parameter,
welche Aufgabe dieser long-Parameter hat steht in der Aufgabe,
es hilft auch, in der API/ Lehrbuch genauer nachzulesen, was der long-Parameter bei Random macht

von StringBuffer steht strengenommen nix in der Aufgabe,
du kannst chars auch per + an einen String anhängen
 

paul87

Mitglied
eien komplette lösung möchte ich auch gar nicht, sondern nur ansätze. ich sitze jetzt echt schon das ganze we an dieser aufgabe und komm nciht weiter.

konstruktoren benutze ich doch nur, wenn ich auch objekte habe oder nicht? d.h. ich muss objekte erstellen oder nicht?
wenn ich das weis, weis ich wenigstens schon in welcher richtung ich gehen muss.
 

paul87

Mitglied
ich weis so zu 90% was konstruktoren sind. also muss ich in der app in der main methode objekte erstellen und konstruktoren für diese objekte in der klasse zeichenkette wo die attribute sind erstellen?
 
S

SlaterB

Gast
in der Aufgabe gehts vornehmlich darum, die Konstruktoren zu schreiben,

für die Lösung der Aufgaben bzwl. Verwendung dieser Klasse reicht es,
ein Objekt zu erstellen mit Aufruf eines dieser Konstruktoren

also auch wenn du nicht alle Konstruktoren aktiv nutzen wirst, ist es doch deine Aufgabe, sie zu programmieren,
idealerweise testest du sie natürlich auch mal
 

paul87

Mitglied
gut danke. das macht die sache natürlich etwas leichter. ich werds probieren. danke für die hilfe. wenn ich nicht weiter komme kannst du mir ja vllt wieder einen tip geben.
 

paul87

Mitglied
wollte jetzt erstmal nur ein zeichen mit der methode zeichen1 ausgeben.

Code:
import java.util.Random;    


class Zeichenkette extends java.util.Random{
	
	int obereGrenze, untereGrenze;
	
	public char zeichen1(){
		return (char)(nextInt(95)+32);
	
	}
	
	public char zeichen2(int oG, int uG){
			return (char)(nextInt(oG)+uG);
	}
	
	
}

class ZeichenketteApp{
	
	public static void main(String[] args){
		
		
		
		
		Zeichenkette zufall = new Zeichenkette();
		
		System.out.println(zufall.zeichen1());
		
	}
}

warum funktioniert das nicht. beim compilieren ist alles in ordnung. wenn ich es ausführe dann kommt java.lang.NoSuchMethodError: main

Exception in thread "main"
 

paul87

Mitglied
so bin jetzt fast fertig. die erste zeichenkette funktioniert. dort hab ich ja die grenzen direkt in der methode zeichen1 geschrieben. nun muss ich ja die grenzen für die zweite methode schreiben. die sollen aber laut aufgabenstellung nciht in der methode direkt sondern über die attribute gespeichert werden. wie mach ich das? soll ich direkt

int obereGrenze = ..;

schreiben?

oder geht das über die main methode und konstruktor?

wenn wir eine methode erstellen sollen die parameter hat (obere und untere Grenze) dann müssen wir diese parameter auch beim aufrufen eingeben. wenn wir die aber da gleich eingeben, wie sollen die dann noch über die attribute gehen??
 
S

SlaterB

Gast
die Klassenattribute definiert hast du schon im obigen Code, ja,

nun sollen die Werte dafür im Konstruktor als Parameter übergeben und dort gemerkt werden,
damit später die Operationen darauf zugreifen
 

paul87

Mitglied
die grenzen für die ersten methode (ohne parameter) soll ich durch den standardkonstrunktor speichern. der standardkonstrunktor ist doch aber immer leer. also seine parameter.

und für die zweite methode gebe ich die grenzen ja direkt beim aufrufen als parameter ein. wie sollen die denn in den attributen gepeichert werden?

ich habe ja ein objekt erstellt:

Code:
Zeichenkette zufall = new Zeichenkette(){

muss ich da laut aufgabenstellung auch was eingeben als parameter oder soll ich das leer lassen? die klammern mein ich.
 
S

SlaterB

Gast
> die grenzen für die ersten methode (ohne parameter) soll ich durch den standardkonstrunktor speichern. der standardkonstrunktor ist doch aber immer leer. also seine parameter.

stimmt, der Standardkonstruktor soll 32 bis 126 setzen, dafür braucht es keine Parameter

> und für die zweite methode gebe ich die grenzen ja direkt beim aufrufen als parameter ein.

das kann so sein, die Konstruktoren sind alle für die erste Methode wichtig, was immer wir beide darunter verstehen ohne es genau zu benennen,
hoffentlich das gleiche ;)

> wie sollen die denn in den attributen gepeichert werden?

für die zweite musst du nix speichern, für die erste musst du im Konstruktor (in den mehreren Konstruktoren) die Klassenattribute initialisieren,
einfach einen Wert zuweisen

> muss ich da laut aufgabenstellung auch was eingeben als parameter oder soll ich das leer lassen?

ich sehe da keine Vorgabe in der Aufgabe, demnach egal,
wenn dann müsstest du 32 bis 128 übergeben, was ja aufs gleiche hinauskommt

später sollst du aber Zeichen von 65-90 erzeugen,
dann kannst du natürlich mehrmals Methode 2 mit Parametern an einem beliebigen Zufalls-Objekt aufrufen,
oder ein bestimmtes Zufalls-Objekt per Konstruktor passend konfigurieren und dann Methode 1 nehmen
 

paul87

Mitglied
ich muss ja eigentlich auf jeden fall beim objekt was als parameter eingeben. ansonsten mekkert der ja beim compilieren, das konstruktoren da sind aber keine werte eingegeben werden in den "standardkonstruktor"

gut danke. aber du musst doch zu geben das diese aufgabe ziemlich wirr ist. ich mein wir sollen das ja lernen, da sollte man doch solche aufgaben stellen wo jede methode, attribute, konstruktoren usw auch eine aufgabe haben. dann wäre das viel verständlicher welche funktion die einzelnen sachen haben, anstatt irgendwie alles sinnlos in eine aufgabe zu stecken. meine meinung :p

aber danke nochmal. du hast mir sehr weietr geholfen. wenn ich mal profi bin, dann helf ich heir auch anderen leuten. bis dahin ists aber noch ein langer langer weg. ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben