Samozrejme, konvencie o programovani su mi dobre zname (nepredpokladal som ze by to niekto vytkol pri takom kuse kodu, ale dobre). Vysklitla sa zalezitost, ktoru je nutne implementovat v Jave a s tou skusenosti take nemam.
public class Calculator {
private byte [] buffer;
Calculator(){}
public Calculator calc(short value, short size){
/* size - 1/2/4 */
buffer = new buffer[size]; /* check na zaporne cislo alebo nenulovu hodnotu ...*/
for(short cnt = 0;cnt < buffer.lenght; cnt++){
buffer[cnt] = (value + cnt);
}
return this;
}
public byte returnByte(){
return buffer[0];
}
public short returnShort(){
return (short) ((buffer[1] <<

| buffer[0]);
}
}
int main(){
Calculator calculator = new Calculator();
short shortVal = calculator.calc(10, 2).returnShort();
byte byteVal = calculator.calc(10, 1).returnByte();
return 0;
}
je mozne, nejakym postupom spravit -- v MAIN
public class Calculator2 {
private byte [] buffer;
private short size = 0;
Calculator(){
}
public Calculator calc(short value){
/* size - 1/2/4 */
/* size je zistena z volania metody returnShort() alebo returnByte()*/

? short size = je odpoveda z....
buffer = new buffer[size]; /* check na zaporne cislo alebo nenulovu hodnotu ...*/
for(short cnt = 0;cnt < buffer.lenght; cnt++){
buffer[cnt] = (value + cnt);
}
return this;
}
public byte returnByte(){
this.size = 1;
return buffer[0];
}
public short returnShort(){
this.size = 2;
return (short) ((buffer[1] <<

| buffer[0]);
}
}
int main(){
Calculator2 calculator = new Calculator2();
short shortVal = calculator.calc(10).returnShort();
byte byteVal = calculator.calc(10).returnByte();
return 0;
}
Nakolko vsak volanie je:
Najprv sa zavola calculator.calc(10), kde je vypocet hodnoty calc(), nasledne potom .returnShort() kde sa vracia hodnota.
Je mozne zistit v calc() aka je volana nasledovna metoda, aby calc() mohlo pracovat s hodnout SIZE 2?