OOP Frage Init-Konstruktor-Aufrufe

naserddin

Mitglied
Hallo zusammen.. ich bin Anfänger in java und muss ein Praktikum machen.Ich habe überallgesuht und bin leider nicht weitergekommen..

In eine Teil-Aufgabe lautet die Aufgabenstellung lautet :
Mithilfe der folgenden drei Arrays sollen mittels der geeigneten Init-Konstruktor-Aufrufe drei Mini_Memory-Objekte erzeugt werden. Zu jedem der Objekte soll derSpeicherinhalt mit der output()-Methode angezeigt werden.
o short [] s1={1,1,1,0,0,0,0,0,1,1}
o short [] s2={1,1,1,0,0,0}
o short [] s3={1,2,3,0,0,0,0,-1}

**Ein Init-Konstruktor: Dieser Konstruktor bekommt ein vorbelegtes short-Feld übergeben und soll es mithilfe der unten beschriebenen set()-Methode ins Attribut storage ablegen/schreiben.

Eine void set(short[] s)-Methode: Hier wird eine Kopie des übergebenen Felds in das storage-Attribut nur in Abhängigkeit von den folgenden Prüfungen abgelegt:
o Zur Inhaltsprüfung des übergebenen Arrays wird die isBitAll()-Methode verwendet:
 Gibt sie false zurück, wird das storage-Attribut mit der gültigen Länge versehen und mit Nullen aufgefüllt.
 Im true-Fall erfolgt eine weitergehende Prüfung der Länge, wie unten aufgeführt.
o Zur Längenprüfung des übergebenen Arrays wird die isByteLength()-Methode eingesetzt.
 Liefert sie -1 zurück, soll eine Meldung1 auf dem Bildschirm erfolgen und anschließend nur die ersten 8-Bitwerte des Arrays übernommen werden.
 Wenn 1 zurückgegeben wird, sollen die übergebenen Feldelemente übertragen und die fehlenden mit Nullen versehen werden.
 Bei 0 findet die Übernahme des kompletten Arrays statt.

könnte mir vielleicht jemand helfen und mir einfach sagen wo ich anfangen soll.. ich wäre sehr dankbar..

Der erste Teil lautet
Testfall 1:
o Erzeugung eines Objektes der Klasse Mini_Memory mit dem Default-Konstruktor.
o Aufruf der isByteExtrem()-Methode und Anzeige des Resultates auf dem Bildschirm.
o Setzten eines bestimmten Bits mithilfe der setBit()-Methode und anschließende Ausgabe mit der output()-Methode.
o Umwandlung der Binär- in die Dezimalzahl mit der BytetoDec()-Methode.

und das ist alles was ich bis jetzt programmiert habe :

Java:
import java.lang.*;
import java.io.*;

class Mini_Memory{

 Mini_Memory(){};
 
    //  die Variable storage kapseln
  private short [] storage = new short [8];
  
 // die Methode isByteExtrem
 public static String isByteExtrem(short [] storage){
   int i;
   String State = "" ;
   for (i=0; i<=7 ; i++){
   
     if (storage [i] == 0 ){
       System.out.println("Reset");
       State = "Reset";
     }
     
     if (storage [i] == 1){
     System.out.println("Full");
     State = "Full";
     }
     
     else if (storage [i] == 0 && storage [i] == 1){
     System.out.println(" ");
     State = " ";
     }

   } return State;
 }
     // Methode setBit
 public void setBit(short index, short wert){

   storage [index] = wert ;
   storage [0] = 1;
   storage [1] = 1;
   storage [2] = 1;
   storage [3] = 0;
   storage [4] = 0;
   storage [5] = 1;
   storage [6] = 1;
   storage [7] = 0;

  }
  public void output(short [] storage){

   int i;
   for (i=0 ; i<=storage.length ; i++){
     System.out.print(storage[i]);
     
      // alternative :
      //  for (int a : storage){
      // System.out.print(a);
      //}

   }
 }
     // Dual in Dezimal umwandeln
 public void BytetoDec(String [] arg){
 
    char storage[] = {'1','1','1','0','0','1','1','0'};       // Array in String umwandeln :

    String s = String.valueOf(storage);

    System.out.println("Die Dezimalzahl von der Binärzahl (11100110) lautet :"+ Integer.parseInt(s,2));  // Die Binärzahl vom String in Dezimal umwandeln :
    
  }
}
  class Mini_Memory_Test{
  public static void main (String [] args) throws IOException{
  BufferedReader din = new BufferedReader( new InputStreamReader (System.in));

  }
}
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Falls sich das noch nicht selbst erledigt hat: Du solltest vielleicht eine spezifischere Frage stellen. Im Moment ist das die Aufgabenstellung, was soll man da dazu schreiben?
 

naserddin

Mitglied
danke für die Antwort

also ich habe alles geschaft außer eine kleine sache..
ich habe das Attribut storage als private deklariert. und dafür ein Copy-Konstruktor erstellt:
Java:
 private short[] storage = new short[8];

    Mini_Memory(){};

    //Copy Konstruktor
    
    public Mini_Memory(Mini_Memory copy_mini){
      this.storage =copy_mini.storage;
    }

    
     // Init Konstruktor
    Mini_Memory(short [] storage){
      set(storage);
    }

und jetzt möchte ich von der Main-Klasse auf das Attribut zugreifen und den Inhalt ändern und speichern :
Java:
Mini_Memory mini = new Mini_Memory(s4);
                Mini_Memory copy_mini = new Mini_Memory(mini);

                System.out.println("\nAugabe des Objektes copy_mini mit isByteExtrem :\n");
                System.out.println(copy_mini.isByteExtrem());

                System.out.println("\n\nAusgabe nach dem invertByte:\n");
                copy_mini.storage=copy_mini.invertByte();
                System.out.print(copy_mini.isByteExtrem());

                System.out.println("\n\n\nAusgabe nach dem incrByte:");
                copy_mini.storage=copy_mini.incrByte();
                copy_mini.output();

copy_mini.storage=copy_mini.invertByte();
copy_mini.storage=copy_mini.incrByte();

bei diesen zwei Aufrufe kriege ich die Meldung : storage has private access in Mini_Memory

wie kann ich auf das Attribut zugreifen und den Inhalt ändern durch das copy-Konstruktor oder wie ?? bitte um Hilfe da ich die Lösung morgen abgeben muss
beste Grüße
 

mabuhay

Bekanntes Mitglied
Hallo

Also ich würde mal sagen,
Java:
copy_mini.storage = ...
geht schonmal nicht da storage ja als private in der Klasse Mini_Memory deklariert ist. Machs mal als public, dann sollte es gehen. Oder besser, mach eine setStorage(...) Methode in der Mini_Memory Klasse, wäre schöner.

mfg
 

naserddin

Mitglied
Hallo

Also ich würde mal sagen,
Java:
copy_mini.storage = ...
geht schonmal nicht da storage ja als private in der Klasse Mini_Memory deklariert ist. Machs mal als public, dann sollte es gehen. Oder besser, mach eine setStorage(...) Methode in der Mini_Memory Klasse, wäre schöner.

mfg

Ich habe es so gemacht weil die aufgabenstellung so lautet.. man müsste es irgendwie durch den copy-konstruktor schaffen da es ja in der selben klasse ist.. aber wie kann ich im copy-konstruktor schreiben
 

crackm

Mitglied
Ich sehe nichts, was dich davon abhalten würde eine getter-Funktion zu erstellen
Java:
public short[] getMem()
{
  return storage ;
}
 

naserddin

Mitglied
Ich sehe nichts, was dich davon abhalten würde eine getter-Funktion zu erstellen
Java:
public short[] getMem()
{
  return storage ;
}
ok ich werde setter und getter -Methoden benutzen aber ich muss erstmal mein-Array in invertByte() - Methode umwandeln und das ergebnis in storage speichern.. wie soll ich das machen
 

crackm

Mitglied
ok ich werde setter und getter -Methoden benutzen aber ich muss erstmal mein-Array in invertByte() - Methode umwandeln und das ergebnis in storage speichern.. wie soll ich das machen
Wo ist deine invertByte-Funktion ? Das invertieren ist mit bitweise-Operator ^ machbar, denn 0^1=1, 1^1=0
Java:
public short[] invertByte(){
 for(int i=0; i<storage.length; i++)
    storage[i]=storage[i]^1;

return storage;
}
 

naserddin

Mitglied
Wo ist deine invertByte-Funktion ? Das invertieren ist mit bitweise-Operator ^ machbar, denn 0^1=1, 1^1=0
Java:
public short[] invertByte(){
 for(int i=0; i<storage.length; i++)
    storage[i]=storage[i]^1;

return storage;
}

ich habe es versucht und dann kam : Mini_Memory.java:173:34: possible loss of precision
found : int
required: short
storage=storage^1;
ich hatte es korrigiert dann siehts so aus storage=storage[i^1];
 
Zuletzt bearbeitet:

crackm

Mitglied
ich habe es versucht und dann kam : Mini_Memory.java:173:34: possible loss of precision
found : int
required: short
storage=storage^1;
ich hatte es korrigiert dann siehts so aus storage=storage[i^1];

Nene der Platzt von bitweise Operator in der Funktion die ich vorgeschlagen habe war schon richtig, der bezieht sich ja auch den Inhalt und nicht auf den Index(Wie Marco13 schon angedeutet hat). allerdings ist storage^=1; denkbar.. allerdings nur mit int array.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
H Frage zum Array Java Basics - Anfänger-Themen 17
G Schach -Frage 2- Maussteuerung Java Basics - Anfänger-Themen 7
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
B Fachliche Frage bei Rechnungen Java Basics - Anfänger-Themen 16
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben