1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
|
import java.io.*;
class Cpureg{
private short reg[]; //Array für Bitwerte
private Cpureg(){}; //Sperrung des Standartkonstruktors
public int setBit (int index, short wert){ //Setzen eines Bits
if( (index >= reg.length)||(wert!=0 && wert!=1) )
return -1;
else{
reg[index]=wert;
return 0;
}
}
public void printArray (){ //Ausgabe des Inhaltes
for(int i=reg.length-1; i>=0; i--)
System.out.print(reg[i]);
}
public Cpureg(int len){ //Konstruktor mit Länge
reg = new short [len];
for(int i=0; i<len; i++)
reg[i]=0;
}
}
class Schiebreg extends Cpureg{
public short rechtsshift (short wert){ // >> (alles um eins nach rechts, also von links)
if(wert == 0 || wert == 1){
[COLOR=red]Hier soll jetzt der Shift-Code kommen, aber ich weiß nicht, wie auf die Oberklasse mit dem private Objekt zugreifen kann, es soll laut meiner Aufgabe über die getArray funktion über die Oberklasse funktionieren[/COLOR]
return 0;
}
else
return -1;
}
public int linksshift (short wert){ // << (alles um eins nach rechts, also von rechts)
/*Noch nicht ausprogrammiert*/
return 0;
}
public Schiebreg(short sreg[]){
super(sreg.length);
for(int i=0; i<sreg.length; i++)
super.setBit(i,sreg[i]);
}
}
class aufgabe5_2{
public static void main(String args[]) throws IOException {
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
System.out.print("Bitte geben Sie die Laenge des Registers an: ");
int laenge = Integer.parseInt(in.readLine());
short regvek[] = new short[laenge];
System.out.println("- Bitte geben Sie eine Bitkombination fuer das Registers an -");
for(int i=0; i<laenge; i++){
System.out.print("Bitte geben Sie das "+(i+1)+".Bit ein: ");
regvek[i] = Short.parseShort(in.readLine());
}
Schiebreg schiebeobj=new Schiebreg(regvek);
schiebeobj.printArray();
}
} |