Da du keine Schleifen, If , Methoden benutzen darfst, kannst du es nur hinter einander schreiben.
Ich habe die beiden Methoden „add4Bits“ und „get4Bit“ genannt.
das wäre meine Lösungs Variante ist natürlich nicht getestet
[CODE=java]String mul4BitTo8Bit(String ob1, String ob2){
String[] highNibble = {"0000","0"};
String[] lowNibble = {"0000","0"};
String c;
c = get4Bits(ob1, ob2.charAt(0));
lowNibble = add4Bits(lowNibble[0], c );
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
//schieben
lowNibble = add4Bits(lowNibble[0], lowNibble[0]);
highNibble = add4Bits(highNibble[0], highNibble[0]);
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
c = get4Bits(ob1, ob2.charAt(1));
lowNibble = add4Bits(lowNibble[0], c );
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
//schieben
lowNibble = add4Bits(lowNibble[0], lowNibble[0]);
highNibble = add4Bits(highNibble[0], highNibble[0]);
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
c = get4Bits(ob1, ob2.charAt(2));
lowNibble = add4Bits(lowNibble[0], c );
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
//schieben
lowNibble = add4Bits(lowNibble[0], lowNibble[0]);
highNibble = add4Bits(highNibble[0], highNibble[0]);
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
c = get4Bits(ob1, ob2.charAt(3));
lowNibble = add4Bits(lowNibble[0], c );
highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit
return highNible[0] + lowNible[0];
}
[/CODE]